如何在 MATLAB MEX 文件中创建双精度的 N-D 矩阵?

Posted

技术标签:

【中文标题】如何在 MATLAB MEX 文件中创建双精度的 N-D 矩阵?【英文标题】:How do I create an N-D matrix of doubles in a MATLAB MEX file? 【发布时间】:2009-11-10 19:54:46 【问题描述】:

我需要在 MEX 文件中创建一个 3-D 矩阵。在 API 参考中,提到了 mxCreateCellArray 用于 N 维元胞数组,mxCreateStructArray 用于结构等。但没有提到 mxCreateDoubleArray。这可能吗?

【问题讨论】:

【参考方案1】:

您可以通过为classid 参数指定适当的数组类标识符来使用mxCreateNumericArray 创建不同类型的数组:

C 语法: 使用 mxDOUBLE_CLASS 作为 classid 参数。

Fortran 语法: 使用函数mxClassIDFromClassName 和参数'double' 来获取classid 参数的值。

【讨论】:

以上是关于如何在 MATLAB MEX 文件中创建双精度的 N-D 矩阵?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Matlab codegen 在 Matlab 2013 中创建 mex 文件时出错

将 C++ MEX 文件中的值返回到 MATLAB

从 std::vector 在 MEX C++ 中创建 MATLAB 数组

MEX 文件中 Matlab 矩阵的线性索引

如何在保证仿真精度的情况下提高仿真速度

mex 文件崩溃,如何在 matlab 中使用 MATLAB_MEM_MGR?