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