主要内容

马铃薯金宝app支持MEX函数中的交错复合API

当在计算机存储器中表示复数的矩阵时,存在存储位置和存储顺序的几个选择。在Matlab之前®版本9.4(R2018A),MATLAB使用了分离存储表示。这些数字的实部和虚部分开存储。MATLAB使用一个交错C语言和Fortran语言的MEX文件的存储表示,其中实部和虚部存储在一起。交错复合指这个表示。

由于许多数学库使用交错的复杂表示,在MEX函数中使用相同的表示消除了转换数据的需要。这将简化代码,并可能在涉及大型数据集时加快处理速度。

这个变化不影响MATLAB语言。您可以继续使用中描述的功能复数没有任何修改函数和脚本。

单独的复杂API和交错复合API

有两个版本C矩阵API.Fortran Matrix API.

  • 单独的复杂API包含MATLAB R2017B及更早版本中的C和FORTRAN矩阵API功能。

  • 交错复合API.包含MATLAB R2018A的C矩阵API功能以及MATLAB R2018A更新3的FORTRAN矩阵API功能。

要使用交错的复杂API构建MEX文件,请使用墨西哥人释放特定的构建选项-R2018A.要使用独立的复杂API构建MEX文件,请使用-R2017B.构建选项。这墨西哥人命令默认使用单独的Complex API。但是,在未来的MATLAB版本中,墨西哥人将使用交错的复杂API(-R2018A选项)默认情况下,然后您需要修改构建命令。因此,为了确保跨MATLAB版本的所需行为,添加-R2017B.选择您现有的构建脚本。要编写支持这两个api的代码,请参金宝app阅添加mx_has_Interleaved_complex以支持复数号金宝app表示

笔记

要运行用MATLAB R2018a中交错复杂API构建的Fortran MEX文件,必须使用MATLAB R2018a Update 3。

矩阵API更改支持交错复杂金宝app

以下对C和Fortran Matrix api的更改支持交错复杂。金宝app

用交错复杂API编写MEX函数

要学习如何使用交错的复杂API编写MEX函数,请参阅在C MEX文件中处理复杂数据在C应用程序中或处理复杂Fortran数据

创建的MEX函数马铃薯R2017B及更早版本

如果您已经构建了MEX函数,MEX S函数或独立MATLAB引擎和MAT文件应用程序,那么您应该查看我需要升级我的MEX文件来使用交错复杂API吗?的话题。为了帮助将MEX文件和s -函数转换为交错的复杂API, MATLAB维护了一个兼容接口。要构建具有兼容性接口的MEX文件,请使用墨西哥人-R2017B.旗帜。如果您的代码处理复杂的数字,则可能会注意到MATLAB将数据调整为交错复杂格式的性能影响。

墨西哥人命令使用-R2017B.默认情况下API。但是,在未来的MATLAB版本中,墨西哥人将使用交错的复杂API-R2018A默认情况下,您需要修改构建命令。因此,为了确保跨MATLAB版本的所需行为,添加兼容性标志-R2017B.到您的构建脚本。

相关的话题