将符号值转换为MATLAB双精度
通过使用将符号数转换为双精度双
。符号数是精确的,而双精度数有舍入错误。
转换π
和1/3
从符号形式到双精度。
= sym([1/3])
= [pi, 1/3]
doubleN =双(symN)
double = 3.1416 0.3333
有关舍入错误的信息,请参见识别和避免舍入错误。
由。创建的可变精度数字vpa
是象征性的值。当一个MATLAB函数不接受符号值时,使用变量精度转换为双精度双
。
转换π
和1/3
从变精度形式到双精度。
vpa = vpa([1/3])
vpaN = [3.1415926535897932384626433832795, 0.33333333333333333333333333333333]
doubleN =双(vpaN)
double = 3.1416 0.3333
转换矩阵中的符号数symM
通过使用使数字双精度双
。
a =符号(sqrt (2));b =符号(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 =双(symM)
doubleM = 1.4142 0.6667 0.9428 0.4714
在转换遭受内部取消或舍入错误的符号表达式时,通过使用数字
在转换号码之前。
转换数值不稳定的表达式Y
与双
。然后,增加精度到One hundred.
数字用数字
和转换Y
一次。这种高精度转换是准确的,而低精度转换则不是。
Y = ((exp(信谊(200)+ 1)/ (exp(信谊(200))- 1))- 1;lowPrecisionY =双(Y)
lowPrecisionY = 0
digitsOld =数字(100);highPrecisionY =双(Y)
highPrecisionY = 2.7678 e - 87
恢复使用的旧精度数字
进行进一步的计算。
数字(digitsOld)