MATLAB如何使用vpa函数进行可控精度运算
·R=vpa(S)命令将显示符号表达式S在当前精度D下的值。其中D是使用digits函数设置的数值精度。
·Vpa(S,D)命令显示符号表达式S在精度D下的值,这里的D不是当前的精度值,而是临时使用digits函数设置为D位精度。
例如在MATLAB窗口输入下面的内容:
>> x=vpa(pi)
x =
3.141592653589793238462643383279502884197169399375105820974944592307816406 286208998628034825342117068
>> s=vpa(hilb(2))
s =
[1.0,0.5]
[0.5,0.3333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333]
>> s=vpa(hilb(2),5)
s =
[ 1.0, 0.5]
[ 0.5, 0.33333]
可见,此时系统是默认精度值为100位,所显示的值都有100位小数,而第3条命令则将矩阵的精度定义为5位。