主要内容

C矩阵API.

编写与MATLAB合作的C / C ++程序® mxarray.数据结构

要编写与MATLAB R2017B或更早版本的C程序,请在C矩阵API中使用函数。这些功能与mxarray.数据结构和用于构建C MEX函数或C引擎应用程序。

欣维斯

MaWorks:建议尽可能选择C++应用程序。有关详细信息,请参阅从c ++调用matlab或者MATLAB中的C++库要从MATLAB直接调用C ++库功能。

C矩阵API有两个版本。

有关使用这些库函数的示例,请参阅:

vorsicht.

C矩阵API与该C矩阵API不兼容MATLAB数据API.,支持现代C +金宝app+功能。您不能使用C矩阵API函数,其中包含功能C ++ MEX应用程序或者C++的MATLAB引擎API

C数据类型

mxarray. C键入马铃薯排列
MWSIZE. C键入mxArray大小值
mwindex. C键入mxArray索引值
mwsignedindex. 签名的Integer C键入MxArray大小值
MXCHAR. 输入字符串数组
mxlogical. 逻辑阵列的类型
MX复杂性 标志指定数组是否有虚构组件

mxarray属性

mxisnumeric. 确定mxArray是否为数字
mxicomplex 确定数据是否复杂
mxgetnumberofdimensions. MxArray中的尺寸数
mxgetElementsize. 存储每个数据元素所需的字节数
mxgetdimensions. 指向尺寸数组的指针
mxsetDimensions. 修改每个维度的尺寸和大小的数量
mxgetnumberofeLement. 数字MxArray中的元素数
mxcalcsinglesubscript. 从第一个元素偏移到所需元素
mxgetm. MxArray中的行数
mxsetm. 在mxarray中设置行数
mxgetn. MxArray中的列数
mxsetn. 设置mxArray中的列数
mxisusempty. 确定mxArray是否为空
mxisfromglobalws. 确定mxarray是否被复制马铃薯全球工作区

创建,查询和访问数据类型

艾尔韦滕酒店

mxcreatedoublematrix. 2-D,双精度,浮点阵列
mxcreatedoublescalar. 标量,双精度阵列初始化为指定值
mxcreateNumericMatrix. 2-D数字矩阵
mxcreateNumericArray. N-D数字数组
mxcreateuninitnumericmatrix. 未初始化的2-D数字矩阵
mxcreateuninitnumericarray 未初始化的N-D数字数组
mxisscalar. 确定数组是否为标量数组
mxgetscalar. 阵列中第一个数据元素的真实组成部分
mxisdouble. 确定mxArray是否将数据表示为双精度浮点数
mxgetdoubles. 真实数据元素MXU类排列
mxSetDoubles 设置真实数据元素MXU类排列
mxissingle. 确定mxArray是否将数据表示为单精度浮点数
mxgetsingles. 真实数据元素mxsingle_class.排列
mxsetsingles. 设置真实数据元素mxsingle_class.排列
mxGetPr (不推荐)实际数据元素MXU类排列
mxsetpr. (不推荐)设置真实数据元素MXU类排列
MXISINT8. 确定MxArray是否表示数据作为符号的8位整数
mxGetInt8s 真实数据元素mxint8_class.排列
mxsetint8s. 设置真实数据元素mxint8_class.排列
mxisuint8. 确定mxarray是否表示数据作为无符号的8位整数
mxgetuint8s. 真实数据元素mxUINT8_类排列
mxsetuint8s. 设置真实数据元素mxUINT8_类排列
mxIsInt16 确定mxArray是否将数据表示为有符号16位整数
mxGetInt16s 真实数据元素mxint16_class.排列
mxsetint16s. 设置真实数据元素mxint16_class.排列
mxisuint16 确定MxArray是否将数据表示为无符号16位整数
mxgetuint16s. 真实数据元素mxuint16_class.排列
mxsetuint16s. 设置真实数据元素mxuint16_class.排列
mxIsInt32 确定MxArray是否表示数据作为符号的32位整数
mxgetInt32s. 真实数据元素mxint32_class.排列
mxsetint32s. 设置真实数据元素mxint32_class.排列
mxisuint32. 确定mxArray是否将数据表示为无符号32位整数
mxgetuint32s. 真实数据元素mxuint32_class.排列
mxsetuint32s. 设置真实数据元素mxuint32_class.排列
mxIsInt64 确定MxArray是否将数据表示为符号64位整数
mxgetInt64s. 真实数据元素mxINT64_类排列
mxsetint64s. 设置数据元素mxINT64_类排列
mxisuint64 确定MxArray是否将数据表示为无符号64位整数
mxgetuint64s. 真实数据元素mxuint64_class.排列
mxsetuint64s. 设置真实数据元素mxuint64_class.排列
mxgetcomplexdouble. 复杂的数据元素MXU类排列
mxsetComplepledouble. 设置复杂的数据元素MXU类排列
mxgetcomplexsles. 复杂的数据元素mxsingle_class.排列
mxsetCompleplsles. 设置复杂的数据元素mxsingle_class.排列
mxgetimagdata. 数字中的虚构数据元素mxarray.
mxsetimagdata. 以数字形式设置虚拟数据元素mxarray.
mxGetPi (不推荐)虚构的数据元素MXU类排列
mxsetpi. (不推荐)设置虚拟数据元素MXU类排列
mxgetcomplexInt8s. 复杂的数据元素mxint8_class.排列
MXSetComplexInt8s. 设置复杂的数据元素mxint8_class.排列
mxgetcomplexuint8s. 复杂的数据元素mxUINT8_类排列
MXSetComplepuint8s. 设置复杂的数据元素mxUINT8_类排列
mxgetcomplexInt16s. 复杂的数据元素mxint16_class.排列
mxsetCompleplint16s. 设置复杂的数据元素mxint16_class.排列
mxGetComplexUint16s 复杂的数据元素mxuint16_class.排列
mxSetComplexUint16s 设置复杂的数据元素mxuint16_class.排列
mxgetcomplexInt32s. 复杂的数据元素mxint32_class.排列
mxsetComplexInt32s. 设置复杂的数据元素mxint32_class.排列
mxgetcomplexuint32s. 复杂的数据元素mxuint32_class.排列
mxsetcomplexuint32s. 设置复杂的数据元素mxuint32_class.排列
mxgetcomplexInt64s. 复杂的数据元素mxINT64_类排列
MXSetComplexInt64s. 设置复杂的数据元素mxINT64_类排列
mxgetcomplexuint64s. 复杂的数据元素mxuint64_class.排列
MXSetComplexUINT64S. 设置复杂的数据元素mxuint64_class.排列
mxGetPi (不推荐)虚构的数据元素MXU类排列
mxsetpi. (不推荐)设置虚拟数据元素MXU类排列
mxcreateSparse. 2-D稀疏阵列
mxcreateSparselogicalMatrix. 二维稀疏逻辑阵列
mxissparse. 确定输入是否稀疏MxArray
mxgetnzmax. IR,PR和PI阵列中的元素数
mxsetnzmax. 设置非零元素的存储空间
mxgetir. 稀疏矩阵IR数组
MXSetir. 红外数组阵列
mxgetjc. 稀疏矩阵JC阵列
mxsetjc. JC稀疏阵列数组
mxgetdata. 非数字中的数据元素mxarray.
mxsetdata. 将指针设置为nonmumeric中的数据元素mxarray.
mxcreatestring. 1-n初始化为指定字符串
mxcreatecharmatrixfromstrings. 2-D.MXCHAR.数组初始化为指定的值
mxcreatechararray. N-D.MXCHAR.排列
MXISCHAR. 确定输入是否正确MXCHAR.排列
mxGetChars 指向字符数组数据的指针
mxislogical. 确定mxarray是否为类型mxlogical.
mxislogicalScalar. 确定标量数组是否为mxLogical类型
mxIsLogicalScalarTrue 确定mxlogical类型的标量数组是否为真
mxclassid. 枚举值识别数组类
mxcreatelogicalarray N-D逻辑阵列
mxcreatelogicalmatrix. 2-D逻辑阵列
mxcreatelogicalscalar. 标量,逻辑阵列
mxgetLogicals. 指向逻辑阵列数据的指针
mxisclass. 确定mxarray是否是指定类的对象
mxgetclassid. 班级mxarray
mxGetClassName 类mxarray作为字符串
mxsetClassName. 结构阵列到马铃薯对象数组
mxgetProperty. 公共财产的价值马铃薯目的
mxsetProperty. 设定公共财产的价值马铃薯目的
MXCREATESTRUCTMATRIX. 二维结构阵列
mxcreateStructarray. N-D结构阵列
mxisstruct. 确定mxarray是否是结构
mxgetfield. 指向结构阵列的字段值,给定索引和字段名称
mxsetfield. 在结构阵列中设置字段值,给定索引和字段名称
mxGetNumberOfFields 结构数组中的字段数
mxgetfieldNamebyNumber. 指向结构数组中字段名的指针,给定字段号
mxgetfieldnumber. 来自结构阵列的字段编号,给定字段名称
mxgetfieldbynumber. 指向结构阵列的字段值,给定索引和字段编号
mxsetfieldbynumber. 在结构阵列中设置字段值,给定索引和字段编号
mxAddField 将字段添加到结构数组
mxremovefield. 从结构阵列中删除字段
mxcreatecellmatrix. 2-D单元阵列
mxcreatecellarray. N-D单元阵列
MXISCELL. 确定mxarray是否是单元格数组
mxgetCell. 指向单元格数组中的元素
mxsetcell. 设置单元格数组的内容

删除并复制mxArray

mxdestroyarray. 由MxCreate *函数分配的免费动态内存
mxduplicatearray. 制作阵列的深副本

转换mxarray.

艾尔韦滕酒店

mxmakearraycomplex 转换真实mxarray.复杂,保留真实数据
mxmakearrayreal. 转换成分mxarray.真实,保留真实数据
mxarraytostring. 数组到字符串
mxarraytoutf8string. UTF-8编码中的数组到字符串
mxgetstring. MXCHAR.数组到C型字符串或Fortran特点排列
mxsetClassName. 结构阵列到马铃薯对象数组

数据内存管理

mxcalloc. 为数组分配动态内存,初始化为0,使用马铃薯内存管理器
mxMalloc 分配未初始化的动态内存马铃薯内存管理器
mxrealloc. 使用可实现动态内存马铃薯内存管理器
mxfree. MXCALLOC,MXMALLOC,MXREALLOC,MXARRAYTOSTRING或MXARRAYTOUTF8STRING函数分配的免费动态内存

断言

mxassert. 检查断言值以进行调试目的
mxasserts. 在不打印断言文本的情况下检查断言值

常数

mxisinf. 确定输入是否为无限
mxisfinite. 确定输入是否有限
mxIsNaN 确定输入是否为NaN(NOT-A-NUMBER)

主题

C MEX文件中的字符串

此示例演示如何将字符串传递给使用C Matrix API构建的MEX函数。

在C MEX文件中传递标量值

此示例显示如何编写传递标量值的MEX文件。

在C MEX文件中处理稀疏阵列

此示例显示如何使用C矩阵API填充稀疏矩阵。

在C MEX文件中处理8-,16-,32-和64位数据

此示例演示如何使用C Matrix API在MEX文件中使用无符号16位整数。

在C MEX文件中传递结构和单元格阵列

此示例显示如何将结构和单元格传递给使用C矩阵API构建的MEX文件。

在C MEX文件中操纵多维数值阵列

您可以通过使用键入的数据访问功能来操作多维数值阵列mxgetdoubles.mxgetcomplexdouble.