主要内容

高精度数值计算

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

搜索表示接近整数的公式。一个经典的例子是:计算 经验值 1 6 3. π 到30位。结果显示为一个带有舍入误差的整数。

数字(30);F = exp(√(sym(163))*sym(pi));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,是这样的函数。

数字(cell (d) + 50);

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

A = exp(pi*√(vpa(1:1000)));B = A圆(A);柱状图(双(B), 50)

图中包含一个坐标轴。坐标轴包含一个直方图类型的对象。

计算是否存在该形式的接近整数 经验值 n

A = exp(vpa(1:1000));B = A圆(A);find(abs(B) < 1/1000)
Ans = 1x0空双行向量

结果是,这次是元素的小数部分一个分布相当均匀。

柱状图(双(B), 50)

图中包含一个坐标轴。坐标轴包含一个直方图类型的对象。