主要内容

将符号值转换为MATLAB双精度

语法

描述

双(年代)转换符号值年代双精度。将符号值转换为双精度是有用的,当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)

输入参数

全部折叠

符号输入,指定为符号数、向量、矩阵或符号数的多维数组。

之前介绍过的R2006a