选择数字或符号算术

符号数学工具箱™上的数字通过使用数字或符号运算工作。在数字算术,你表示使用任一双精度或可变精度浮点格式的数字。在象征性的算术,你代表了他们的确切形式的数字。这个话题比较双精度,精度可调,并象征性的算术。

双精度算术

在MATLAB数值计算®默认情况下使用双精度运算。例如,计算表达式1001分之10001,π 2 。其结果转换为双精度值。

X =一千零一分之一万零一Y = PI Z = SQRT(2)
X = 9.9910 Y = 3.1416 Z = 1.4142

有关双精度运算的详细信息,请参阅浮点数字(MATLAB)。建议使用此算法,当您没有符号数学工具箱或正在使用不接受符号输入功能做。否则,建议精确符号运算和可变精度运算。为了一个象征性的值转换为双精度,使用功能。

可变精度算术

使用可变精度算术VPA是在符号数学工具箱数值计算推荐的方法。执行与可变精度算术计算时,可以指定显著位数。

例如,使用VPA评估分数1001分之10001。默认,VPA计算结果输入到32个显著数字。近似分数1001分之10001到至少32个显著数字。

VPA(1001分之10001)
ANS = 9.991008991008991008991008991009

近似分数至少8个显著数字。通过改变显著的位数数字功能。

数字(8);VPA(1001分之10001)
ANS = 9.991009

在可变精度运算,可以增加显著的位数以提高精度。另外,您也可以减少显著的位数更快的计算和减少存储器的使用。

算术符号

符号数学工具箱提供符号SYMS功能精确执行符号计算。在象征性的运算,可以在他们的确切形式执行涉及数字和变量计算,如X / 22 ^(1/2), 要么PI。下面的三个例子表明,在象征性的运算执行几种计算。

快递无理数

采用符号创建符号数。快递无理数π 2 以符号形式。

X =符号(PI)Y = SQRT(符号(2))
X = PI Y = 2 ^(1/2)

与大整数进行计算

当你声明一个数字,MATLAB自动转换为双精度数。例如,声明整数80435758145817515作为输入参数符号。数字失去了它的精确度,因为它比连续的最大整数更大flintmax在双精度,这是2 ^ 53

Z = 80435758145817515 Zinaccurate =符号(80435758145817515)
Z = 8.0436e + 16 Zinaccurate = 80435758145817520
为了准确地声明一个大的整数作为符号数,使用具有单引号的字符向量作为输入参数符号

Zaccurate =符号( '80435758145817515')
Zaccurate = 80435758145817515

然后,您可以执行与准确地使用符号运算大整数计算。例如,评估的三个大整数立方体的总和。

Z1 =符号( '80435758145817515')Z2 =符号( '12602123297335631')Z3 =符号( ' -  80538738812075974')Zsum = Z1 ^ 3 + Z2 ^ 3 + Z3 ^ 3
Z1 = 80435758145817515 Z2 = Z3 12602123297335631 = -80538738812075974 Zsum = 42

解决数学方程

有了象征性的运算,可以解决一个数学公式。例如,解决二次方程斧头2+BX+C= 0。采用SYMS声明变量X和二次系数一个bC

SYMS A B C X等式= A * X ^ 2 + B * X + C == 0;

您可以成为解决方案金宝搏官方网站解决并返回它们作为象征性的表达。

溶胶=解决(等式,x)的
溶胶=  - (B +(B ^ 2  -  4 * A * C)^(1/2))/(2 * A) - (B  - (B ^ 2  -  4 * A * C)^(1/2))/(2 * A)

采用潜艇来替代的系数符号值。组一个= 1,b= 2,C= 3。返回二次方程的符号数的金宝搏官方网站解决方案。

solsSym =潜艇(溶胶,[A B C],[1 2 3])
solsSym =  - (8 ^(1/2)* 1i)中/ 2  -  1(8 ^(1/2)* 1i)中/ 2  -  1

然后,您可以转换为浮点格式的象征性解决方案,双精度或可变精度。金宝搏官方网站

数字(32);solsDouble =双(solsSym)solsVpa = VPA(solsSym)
solsDouble = -1.0000  -  1.4142i -1.0000 + 1.4142i solsVpa =  -  1.0  -  1.4142135623730950488016887242097i  -  1.0 + 1.4142135623730950488016887242097i

数字和符号运算的比较

下表比较了双精度,精度可调,和符号算术。

双精度 可变精度 象征
实施例1:评估罪(π)
一个PI = SIN(PI)
A = 3.1416 ANS = 1.2246e-16
B = VPA(PI)SIN(b)中
B = 3.1415926535897932384626433832795 ANS = -3.2101083013100396069547145883568e-40
C =符号(PI)SIN(c)中
C = PI ANS = 0
实施例2:评估1 - 3 *(4/3 - 1)
一个4/3 = 1  -  3 *(A  -  1)
A = 1.3333 ANS = 2.2204e-16
数字(16);B = VPA(4/3)1  -  3 *(B  -  1)
B = 1.333333333333333 ANS = 3.308722450212111e-24
C =符号(4)/ 3 1  -  3 *(C  -  1)
C = 4/3 ANS = 0
函数使用 VPA
数字
符号
数据类型 符号 符号
舍入误差 是的,答案具有精度16位。 是的,数字的数量取决于所使用的精确度。 没有,结果是准确的。
速度 快点 更快,这取决于所使用的精度 最慢
内存使用情况 最小 可变的,这取决于所使用的精度 最大

相关话题