默认情况下,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
。此调用不影响数字
。例如,近似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
如果你想提高性能减少的精度,请提高速度的降低精度。