默认情况下,Matlab®使用16位精度。对于更高的精度,使用VPA.
在符号数学工具箱™中的功能。VPA.
提供可变精度,可以在没有限制的情况下增加。
选择变量精度算术,默认情况下,VPA.
使用32位大约小数度的精度。有关详细信息,请参阅选择数字或符号算术。您可以使用使用的精度更高数字
功能。
使用的32个位数的默认精度近似之和。如果至少有一个输入包裹VPA.
,所有其他输入都会自动转换为可变精度。
VPA(1/3)+ 1/2
ANS = 0.8333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
您必须将所有内部输入包装在一起VPA.
, 如EXP(VPA(200))
。否则,输入被自动转换由MATLAB翻一番。
提高精度50.
数字使用数字
并节省旧价值数字
在Digitsold.
。重复总和。
digitsold =数字(50);sum50 = VPA(1/3)+ 1/2
SUM50 = 0.8333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
恢复的数字为进一步计算的旧值。
数字(Digitsold)
VPA.
输出是符号的。采用与不接受的符号值的MATLAB函数符号输出,通过使用符号值转换为双精度双倍的
。
检查当前数字
通过致电设置数字
。
数字
位数= 32
改变单个的精度VPA.
通过指定精度作为第二输入来调用VPA.
。此电话不会影响数字
。例如,近似PI.
和100.
数字。
VPA(PI,100)
ANS = 3.14159265358979323846264338327950288419716939937510582097494 4592307816406286208998628034825342117068
数字%数字仍然存在32
位数= 32
可变精度可以任意增加。找PI.
至500.
数字。
digitsold =数字(500);VPA(PI)数字(Digitsold)
ANS = 3.1415926535897932384626433832795028841971693993751058209749 445923078164062862089986280348253421170679821480865132823066 470938446095505822317253594081284811174502841027019385211055 596446229489549303819644288109756659334461284756482337867831 652712019091456485669234603486104543266482133936072602491412 737245870066063155881748815209209628292540917153643678925903 600113305305488204665213841469519415116094330572703657595919 530921861173819326117931051185480744623799627495673518857527 248912279381830119491
数字
和VPA.
控制数量重大十进制数字。例如,近似111分之1
在十进制点之后,有四位准确度返回六位数,因为前两位数是零。
VPA(1/111,4)
ans = 0.009009.
如果您想提高性能减少精确度,参见通过减小精度提高速度。