记得之前给大家分享过如何在matlab中进行高精度计算,详见:
今咱再给大家分享一款适用于MATLAB高精度计算的工具箱 — Multiple Precision Toolbox for MATLAB (以下简称MPT)。说是工具箱,不如说是两款著名C\C++高精度计算库GMP(GNU Multiple Precision Arithmetic Library)与MPFR(Multiple-Precision Floating-point Computations with correct Rounding)的接口工具,通过它可以轻松使用两库的相应计算函数。这两个库也被咱在第三辑中介绍的AdvanpixMCT所使用。
工具虽香,作者Ben Barrowes也把源代码分享到了File Exchange中,但下载之后的使用无不让人抓狂。因为需要先将GMP与MPFR正确编译为动态连接库之后才能编译MPT。即便正确编译了GMP与MPFR的动态连接库,后续的MPT编译也非易事,一堆杂七杂八的配置与设置也是让人云里雾里。
经咱一番搜索,发现网上完全没有在window10中使用新版本matlab进行相关编译的参考资料。咱查看了File Exchange下所有使用者的所遇到的问题也基本上都是编译问题。既然如此,咱决定尝试一下。
咱的编译环境如下:
Platform: Windows 10 (21H2) X64
Version: Matlab R2022a
Compiler: MinGW64-gcc
GMP ver.: 6.2.1
MPFR ver.: 4.2.0
过程虽然艰辛,但结果是可喜的。为了方便伙伴们使用,咱已将咱编译好的MPT上传至咱的GitHub库(github.com/bashancode/MultiplePrecisionToolbox)。至于如何使用咱目前还没有深入研究,不过Ben Barrowes提供相关的测试函数,而咱编译的这个文件目前完美通过两个示例测试文件的测试:
因为咱使用的是64位系统,因此只编译了64位的版本,如果小伙伴有32位的需求,可以留言,根据大家需求量来决定是否要令行编译32位版本。虽然编译算不上什么技术活,其中的弯弯绕绕还是费了一些时间的。如果您觉得本文不错,那就别吝啬手中免费的赞、在看与分享。
点击左下角阅读原文或在巴山学长公众号后台回复“MPT”或“高精度计算”即可获取咱编译好的MATLAB高精度开源工具箱。
参考资料:
[1] github.com/bashancode/MultiplePrecisionToolbox
[2] mathworks.cn/matlabcentral/fileexchange/6446-multiple-precision-toolbox-for-matlab
[3] www.mpfr.org
[4] gmplib.org
如需转载,请在公众号中回复“转载”获取授权,如未经授权擅自搬运抄袭的,本公众号将保留一切追责权利!