이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
double
기호 값을 MATLAB 배정밀도 값으로 변환
설명
double(
는 기호 값 s
)s
를 배정밀도 값으로 변환합니다. MATLAB® 함수가 기호 값을 허용하지 않는 경우, 기호 값을 배정밀도 값으로 변환하는 것이 유용합니다. 기호 숫자와 배정밀도 숫자와의 차이점에 대해서는 수치 연산방식 또는 기호 연산방식 선택하기 항목을 참조하십시오.
예제
기호 숫자를 배정밀도 값으로 변환하기
double
을 사용하여 기호 숫자를 배정밀도 값으로 변환합니다. 배정밀도 숫자는 반올림 오차가 있는 반면 기호 숫자는 정확합니다.
pi
및 1/3
을 기호 형식에서 배정밀도 형식으로 변환합니다.
symN = sym([pi 1/3])
symN = [ pi, 1/3]
doubleN = double(symN)
doubleN = 3.1416 0.3333
반올림 오차에 대한 자세한 내용은 반올림 오차를 인식하고 방지하기 항목을 참조하십시오.
가변 정밀도를 배정밀도로 변환하기
vpa
에 의해 생성된 가변 정밀도 수치는 기호 값입니다. MATLAB 함수에서 기호 값을 허용하지 않는 경우 double
을 사용하여 가변 정밀도를 배정밀도로 변환하십시오.
pi
및 1/3
을 가변 정밀도 형식에서 배정밀도로 변환합니다.
vpaN = vpa([pi 1/3])
vpaN = [ 3.1415926535897932384626433832795, 0.33333333333333333333333333333333]
doubleN = double(vpaN)
doubleN = 3.1416 0.3333
기호 행렬을 배정밀도 행렬로 변환하기
double
을 사용하여 행렬 symM
의 기호 숫자를 배정밀도 숫자로 변환합니다.
a = sym(sqrt(2)); b = sym(2/3); symM = [a b; a*b b/a]
symM = [ 2^(1/2), 2/3] [ (2*2^(1/2))/3, 2^(1/2)/3]
doubleM = double(symM)
doubleM = 1.4142 0.6667 0.9428 0.4714
고정밀도 변환
내부 소거 또는 반올림 오차가 있는 기호 표현식을 변환할 때는 숫자를 변환하기 전에 digits
를 사용하여 계산 정밀도를 높이십시오.
수치적으로 불안정한 표현식인 Y
를 double
을 사용하여 변환합니다. 그런 다음 digits
를 사용하여 정밀도를 100
자리로 늘리고 Y
를 다시 변환합니다. 이 고정밀도 변환은 정확하지만 저정밀도 변환은 정확하지 않습니다.
Y = ((exp(sym(200)) + 1)/(exp(sym(200)) - 1)) - 1; lowPrecisionY = double(Y)
lowPrecisionY = 0
digitsOld = digits(100); highPrecisionY = double(Y)
highPrecisionY = 2.7678e-87
추후 계산을 위해 digits
에서 사용한 이전 정확도를 복원합니다.
digits(digitsOld)
입력 인수
버전 내역
R2006a 이전에 개발됨