当在计算机存储器中表示复数的矩阵时,存在存储位置和存储顺序的几个选择。在Matlab之前®版本9.4(R2018A),MATLAB使用了分离存储表示。这些数字的实部和虚部分开存储。MATLAB使用一个交错C语言和Fortran语言的MEX文件的存储表示,其中实部和虚部存储在一起。交错复合指这个表示。
由于许多数学库使用交错的复杂表示,在MEX函数中使用相同的表示消除了转换数据的需要。这将简化代码,并可能在涉及大型数据集时加快处理速度。
这个变化不影响MATLAB语言。您可以继续使用中描述的功能复数没有任何修改函数和脚本。
有两个版本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。
以下对C和Fortran Matrix api的更改支持交错复杂。金宝app
新类型的数据访问功能。有关更多信息,请参阅C mex文件中的键入数据访问.
矩阵API函数添加到-R2018A
API:
矩阵API函数不支持金宝app-R2018A
API:
这些矩阵API函数的行为变化-R2018A
API。此外,这些功能将被逐步淘汰。
这些矩阵API函数的行为变化-R2018A
API:
这些Fortran矩阵API函数的行为在-R2018A
API:
要学习如何使用交错的复杂API编写MEX函数,请参阅在C MEX文件中处理复杂数据在C应用程序中或处理复杂Fortran数据.
如果您已经构建了MEX函数,MEX S函数或独立MATLAB引擎和MAT文件应用程序,那么您应该查看我需要升级我的MEX文件来使用交错复杂API吗?的话题。为了帮助将MEX文件和s -函数转换为交错的复杂API, MATLAB维护了一个兼容接口。要构建具有兼容性接口的MEX文件,请使用墨西哥人
-R2017B.
旗帜。如果您的代码处理复杂的数字,则可能会注意到MATLAB将数据调整为交错复杂格式的性能影响。
这墨西哥人
命令使用-R2017B.
默认情况下API。但是,在未来的MATLAB版本中,墨西哥人
将使用交错的复杂API-R2018A
默认情况下,您需要修改构建命令。因此,为了确保跨MATLAB版本的所需行为,添加兼容性标志-R2017B.
到您的构建脚本。