高精度数值计算

这个例子展示了如何使用可变精度运算使用符号数学工具箱™获得高精度计算。

搜索表示近整数的公式。下面是一个典型的例子 经验值 ( 1 6 3. · π ) 30位。结果显示为一个带有舍入错误的整数。

数字(30);f = exp (sqrt(信谊(163))*符号(π));vpa (f)
ans =
                
                 
                  
                   
                    262537412640768743.999999999999
                  
                  
                   vpa (“262537412640768743.999999999999”)
                 
                

计算相同的值到40位。这不是一个整数。

数字(40);vpa (f)
ans =
                
                 
                  
                   
                    262537412640768743.9999999999992500725972
                  
                  
                   vpa (“262537412640768743.9999999999992500725972”)
                 
                

进一步研究这一现象。下面,数字一直到 经验值 ( 1 0 0 0 ) 发生,并且调查需要小数点后的正确数字。计算所需的工作精度:

d = log10 (exp (vpa (1000)))
d =
                
                 
                  
                   
                    434.2944819032518276511289189166050822944
                  
                  
                   vpa (“434.2944819032518276511289189166050822944”)
                 
                

在第一次调用依赖于它的函数之前设置所需的精度。其中,,vpa,这样的功能。

数字(装天花板(d) + 50);

查找类似的表单示例 经验值 ( n π ) .当然,你可以通过163乘以一个平方得到更多这样的数字n。但除此之外,这种形式的数更接近某个整数。你可以从他们的分数部分的直方图中看到:

一个= exp(π* sqrt (vpa (1:1000)));B =一个圆(一个);柱状图(双(B), 50)

计算表单是否有近似整数 经验值 ( n ) .

一个= exp (vpa (1:1000));B =一个圆(一个);找到(abs (B) < 1/1000)
ans = 1x0空双行向量

原来,这一次的小数部分的元素一个分布相当均匀。

柱状图(双(B), 50)