此示例演示如何使用变精度算法使用符号数学工具箱获得高精度计算™.
搜索表示接近整数的公式。一个典型的例子如下:compute 到30位。结果显示为整数,并显示舍入错误。
数字(30);f=exp(sqrt(sym(163))*sym(pi));vpa(f)
ans=
将相同的值计算为40位。事实证明,这不是一个整数。
数字(40);vpa(f)
ans=
进一步调查这一现象。以下为数字,最多为 发生,并且调查需要小数点后的一些正确数字。计算所需的工作精度:
d=log10(exp(vpa(1000)))
d=
在第一次调用依赖它的函数之前设置所需的精度。在其他中,圆形的
,vpa
和双重的
这些都是功能。
数字(ceil(d)+50);
寻找类似的表单示例 . 当然,用163乘以一个平方可以得到更多这样的数字n。但除此之外,更多的这种形式的数字接近于某个整数。您可以从其分数部分的直方图图中看到这一点:
A=exp(pi*sqrt(vpa(1:1000));B=A轮(A);直方图(双(B),50)
计算是否存在以下形式的近似整数 .
A=exp(vpa(1:1000));B=A-round(A);find(abs(B)<1/1000)
ans=1x0空双行向量
结果表明,这一次,元素的分数部分A.
分布相当均匀。
直方图(双(B),50)