图片缩略图

高通滤波器——一个小数类

版本1.15 (1.39 MB) 约翰D 'Errico
高精度浮点运算,用MATLAB编写一个新的类

4.7 k下载

更新2018年3月21日

查看许可协议

我经常看到人们要求一个工具,提供了超过16位数字的准确性。MATLAB本身只允许您使用标准算术双打还是单打,这是正常的限制。事实是,大多数时候,如果你做不到这双,你做错了什么。数值分析的良好实践的价值远远超过任何高精度工具。即便如此,有些时候你会使用一些额外的精度。和你们中的一些人将只是想在大量沙箱。虽然你们中的一些人可能使用工具这样的本巴罗所写,在MATLAB高通滤波器是纯粹的写的,所以不需要编译。你们所有的人,无论你的原因,我提供高通滤波器,一个高精度浮点工具。
事实上,我之所以写高通滤波器是为了自己的目的。我想学会使用classdef工具MATLAB,几年前被释放。,我想尝试建立这样一个工具的自然延伸新品工具我前一段时间写的。我想学习一些技术工作在大量的数字。结果是高通滤波器。
有一些想法我介绍高通滤波器与用户交互。例如,高通滤波器可以在任意数量的小数位数,由用户选择。你可以设置数字的位数作为违约。因此,如果你想一直工作在30小数位数,2警卫在所有计算数字,然后输入这个命令提示符:
DefaultNumberOfDigits 30 2
从现在开始,为你高通滤波器将一直工作在32精度的小数位数,并报告前30位,因此两个警卫数字将在内部使用。例如,
派=高通滤波器(π)
派=
3.14159265358979323846264338328
exp(饼图- 3)
ans =
1.15210724618790693014572854771
高通滤波器会记得这个状态你下次开始MATLAB。可以覆盖默认的状态通过指定一个不同的数字的位数。
高通滤波器(“e”, 12)
ans =
2.71828182846
我作为高通滤波器的一部分存储值e和π精确到500000位。事实上,这些数字是由高通滤波器本身。
最后,对于速度和效率,高通滤波器的形式将所有数据存储在Migits,成捆的小数位数。这产生了一个巨大的奖金在繁殖的速度,因为conv是用于这一目的。我们可以看到他们在这里:
pie.Migits
ans =
(3141 5926 5358 9793 2384 6264 3383 2795)

的好处是使用Migits将对大多数用户来说是透明的。但如果你想要更多的速度你的倍数,然后你可以得到一个提高通过键入:

DefaultDecimalBase 6

从现在开始,高通滤波器将雇用基地1000000 migits内部,我称之为6-migits。唯一的问题是,你会被限制使用人数超过36000的小数位数。速度有一个价格。

另外一个很好的使用高通滤波器提取准确的MATLAB使用十进制形式存储自己的数字。例如,MATLAB真的什么号码存储在内部,当你输入类似1.23 ?

高通滤波器(1.23,55岁)
ans =
1.229999999999999982236431605997495353221893310546875000

高通滤波器完成它吗?当然不是。高通滤波器目前代表近7000行MATLAB代码的形式数十类可用的方法。事实上,你会发现很多数百小时的工作对我来说,在过去的数年。但是我没有写大量的东西可能对一些人有用。例如:根,eig、胆固醇、侦破、等级、反斜杠,γ,等。和高通滤波器提供了不支持复杂的数字。万博1manbetx尽管如此,我希望一些会发现这很有用,如果只学习一些技巧我受雇于建筑。HPF.pdf中描述的一些技巧。

例如,繁殖最好是在MATLAB conv。但将采取更多的工作,这里我用一个牛顿计划雇佣了只会增加和繁殖,并成平方收敛。类似的技巧是根。

或者,看着我的指数函数是如何工作的。在这里我使用一些技巧来提高收敛速度的指数系列。当然,也有明显的范围减少的技巧,但我一个额外的步骤。我也使用不同的方法来总结系列指数(以及正弦和余弦级数),减少分歧。

很多思想和研究已经进入高通滤波器的方法。这些想法在HPFMod捕获。pdf文件,增强了德里克。奥康纳。非常感谢。HPFMod。pdf是一种手动,对于那些想要真正理解的工具。

高通滤波器可能永远不会在我认为的最终形式,因为我相信有一些bug仍然未被发现的。即便如此,成千上万的测试工具是工作很好执行。对于那些尝试高通滤波器,发现一个错误,请给我发电子邮件,我将立即修复。

引用作为

约翰D 'Errico (2021)。高通滤波器——一个小数类(//www.tianjin-qmedu.com/matlabcentral/fileexchange/36534-hpf-a-big-decimal-class), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2012a
兼容任何释放
平台的兼容性
窗户 macOS Linux

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

HighPrecisionFloat / html /