mxArray
数据结构要编写使用MATLAB R2017b或更早的C程序,请使用C矩阵API中的函数。这些函数与mxArray
数据结构和用于构建C MEX函数或C发动机应用。
MathWorks公司建议,只要有可能,选择C ++在C应用程序。有关更多信息,请参见从c++调用MATLAB或c++库从MATLAB中直接调用c++库函数。
有两个版本的C矩阵API。
的交错复杂的API包含C矩阵API功能的MATLAB R2018a。有关更多信息,请参见在MATLAB金宝app中对MEX函数中交错复杂API的支持。
的单独的复杂的API包含C矩阵API功能的MATLAB R2017b。
有关使用这些库函数的例子,请参阅:
有关示例信息,请参阅各个函数。例如,请参见mxIsChar
。
的C矩阵API是不兼容的MATLAB数据API,它支持现代c+金宝app+特性。类中的函数不能使用C矩阵API函数c++墨西哥人的应用程序或对于C MATLAB引擎API ++。
mxArray |
C类型MATLAB排列 |
mwSize |
大小值的类型 |
mwIndex |
类型索引值 |
mwSignedIndex |
大小值的带符号整数类型 |
mxChar |
字符串数组的类型 |
mxLogical |
键入逻辑阵列 |
mxComplexity |
指定数组是否有虚组件的标志 |
mxIsNumeric |
判断数组是否为数值型 |
mxIsComplex |
确定数据是否复杂 |
mxGetNumberOfDimensions |
数组中的维数 |
mxGetElementSize |
存储每个数据元素所需的字节数 |
mxGetDimensions |
维度数组指针 |
mxSetDimensions |
修改维数和每个维的大小 |
mxGetNumberOfElements |
数字数组中元素的数目 |
mxCalcSingleSubscript |
从第一个元素到所需元素的偏移量 |
mxGetM |
数组中的行数 |
mxSetM |
设置数组中的行数 |
mxGetN |
在阵列的列数 |
mxSetN |
设置数组中的列数 |
mxIsEmpty |
判断数组是否为空 |
mxIsFromGlobalWS |
确定数组是否被复制MATLAB全球的工作区 |
mxDestroyArray |
由MXCREATE*函数分配的空闲动态内存 |
mxDuplicateArray |
对数组进行深度复制 |
mxIsInf |
确定输入是否为无穷大 |
mxIsFinite |
确定输入是否是有限的 |
mxIsNaN |
判断输入是否是NaN (Not-a-Number) |
这个例子说明了如何字符串传递到与C矩阵API建立了一个MEX功能。
这个示例展示了如何编写传递标量值的MEX文件。
这个例子展示了如何使用C矩阵API来填充一个稀疏矩阵。
这个例子说明了如何使用16位无符号整数,在使用C矩阵API一个MEX文件。
这个示例展示了如何将结构和单元数组传递给用C Matrix API构建的MEX文件。
可以使用类型化数据访问函数操作多维数字数组mxGetDoubles
和mxGetComplexDoubles
。