matlab中数值可变精度的实现
0赞
发表于 2018/11/25 16:23:01
阅读(2740)
vpa是可变精度算法的简称,有以下两种方式:
(1)R = vpa(A):从第一个非零数字开始,如果有效数字位数在32位以内,则保留所有有效数字;如果有效数字位数超过32位,则保留前32位有效数字并四舍五入。举例如下:
>>vpa('1/(2^10)')
>>ans = 0.0009765625
>>vpa('1/(2^100)')
>>ans = 0.00000000000000000000000000000078886090522101180541172856528279
>>vpa('1/(2^100)',34)
>>ans = 0.0000000000000000000000000000007888609052210118054117285652827862
(2)R = vpa(A,d):从第一个非零数字开始,指定d位有效数字,其中d大于1且小于2^29+1。举例如下:
>>vpa('pi',20)
>>ans = 3.1415926535897932385