将符号值转换为MATLAB双精度
通过使用将符号数转换为双精度双
。符号数字是精确的,而双精度数字有舍入错误。
转换PI
和1/3
从符号形式到双倍精度。
sym([pi 1/3])
= [pi, 1/3]
doubleN =双(symN)
双blen = 3.1416 0.3333
有关舍入错误的信息,请参阅发现和避免舍入误差。
由。创建的可变精度数字vpa
是象征性的值。当MATLAB函数不接受符号值时,使用双
。
转换PI
和1/3
从变精度形式到双精度形式。
vpaN = vpa([pi 1/3])
vpaN = [3.1415926535897932384626433832795, 0.33333333333333333333333333333333]
doubleN =双(vpaN)
双blen = 3.1416 0.3333
转换矩阵中的符号数symM
使用双精度数字双
。
a =符号(sqrt (2));b =符号(2/3);[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
与双
。然后,增加精度到100
数字用数字
和转换Y
一次。这种高精度的转换是准确的,而低精度的转换不是。
Y = ((exp(信谊(200)+ 1)/ (exp(信谊(200))- 1))- 1;lowPrecisionY =双(Y)
lowPrecisionY = 0
digitsOld =数字(100);highPrecisionY =双(Y)
highPrecisionY = 2.7678 e - 87
恢复以前使用的精度数字
进行进一步的计算。
数字(digitsOld)