增加数字计算的精度

默认情况下,MATLAB®使用的精度16位。对于更高的精度,使用VPA函数符号数学工具箱™。VPA提供可变精度,可以无限制地增加。

当您选择可变精度运算,默认情况下,VPA使用的精密32张显著十进制数。有关详细信息,请参阅选择数字或符号算术。您可以通过设置较高的精度数字功能。

使用的32个位数的默认精度近似之和。如果至少一个输入是包裹着VPA所有其它输入被自动转换为可变精度。

VPA(1/3)+ 1/2
ANS = 0.83333333333333333333333333333333

你必须与包裹内的所有输入VPA, 如EXP(VPA(200))。否则,输入被自动转换由MATLAB翻一番。

增加精度50通过使用数字数字和保存的旧值数字digitsOld。重复的总和。

digitsOld =位(50);sum50 = VPA(1/3)+ 1/2
sum50 = 0.83333333333333333333333333333333333333333333333333

恢复的数字为进一步计算的旧值。

数字(digitsOld)

注意

VPA输出是象征性的。采用与不接受的符号值的MATLAB函数符号输出,通过使用符号值转换为双精度

检查当前数字通过调用设置数字

数字
位数= 32

更改精度单VPA通过指定精度作为第二输入来调用VPA。此调用不影响数字。例如,近似PI100数字。

VPA(PI,100)
ANS = 3.14159265358979323846264338327950288419716939937510582097494 4592307816406286208998628034825342117068
数字%位数保持32
位数= 32

可变精度可以任意地增大。找PI500数字。

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

注意

如果你想提高性能减少的精度,请提高速度的降低精度