MATLAB®提供界面,clib.array
,它封装了c++本机数组和std::向量
类型。这个词clib数组指这些c++类型的MATLAB表示。
MATLAB CLIB阵列仅在相应的C ++本机阵列或std::向量
由支持的C ++构造函金宝app数输入和输出参数和数据成员使用。提供的标题必须包含元素类型的定义。MATLAB必须支持构建体,在构建界面时不会金宝app删除。
创建一个MATLAB对象,表示c++原生数组或std::向量
类型,调用MATLABclibArray
函数。例如,假设您的图书馆库名
定义一个类myclass
.在Matlab中,您将此课程称为clib.libname.myclass
.创建五个数组myclass
对象,使用下面的语法:
myclassArray = clibArray ('clib.libname.myclass'5);
MATLAB阵列的类型myclassarray.
是clib.array.libname.myclass.
.访问一个元素myclassarray.
,使用MATLAB标引。例如,要访问第一个元素,请使用以下语法:
e = myclassarray(1)
元素类型为clib.libname.myclass
.
或者,如果元素类型是基本类型、具有默认构造函数的用户定义类或标准字符串类型,则调用clib.array
构造函数。
要为用户定义的类创建包含五个元素的数组,请键入:
myclassarray = clib.array.libname.myclass(5)
要从基本类型创建数组,您必须知道元素类型。有关更多信息,请参见std::向量< T >整数类型和std::向量T > <
浮点类型表中c++到MATLAB的数据类型映射.例如,如果c++类型是STD :: Vector
,则MATLAB元素类型为clib.libname.Int
.要创建一个包含五个元素的数组,输入:
myintarray = clib.array.libname.int(5)
要从标准字符串类型创建数组,请参见STD :: Vector std::向量< std:: string >
,则MATLAB元素类型为clib.libname.std.String
.要创建一个包含五个元素的数组,输入:
myStringArray = clib.array.libname.std.String (5)
请注意
不支持将C ++对象保存到Mat文件中。金宝app
请注意
不能使用方括号创建c++对象数组。
您可以使用现有的MATLAB数组作为c++数组对象。调用clibConvertArray
函数。
MATLAB数组创建clibArray
或者clibConvertArray
这些属性。
财产 |
类型 | 访问 | 描述 |
---|---|---|---|
|
双矢量 |
只读 | C ++阵列的尺寸 |
|
逻辑标量 |
只读 |
|
MATLAB数组创建clibArray
或者clibConvertArray
这些方法。
方法 |
签名 | 描述 |
---|---|---|
|
追加((元素)) |
将可选指定的元素添加到数组的末尾。 对于原始的MATLAB clib数组,如果没有输入参数,则追加一个零值。 对于类类型的MATLAB clib数组,如果没有输入参数,则追加类类型的默认构造函数。如果删除类类型默认构造函数,则会发生运行时错误。 |
|
removeLast |
删除数组的最后一个元素。如果MATLAB clib数组为空,则会发生运行时错误。 |
|
双 |
转换为双精度。 |
|
|
转换为 |
|
|
转换为 |
|
|
转换为 |
|
|
转换为 |
|
|
转换为 |
|
|
转换为 |
|
|
转换为 |
|
|
转换为 |
|
逻辑 |
将数值转换为逻辑值。 |
默认情况下,MATLAB用MATLAB表示基本类型的c++本地数组clib.array
类型。如果您需要使用输出保留基本MATLAB数组类型,请与界面构建ReturnCArrays
参数设置为假
.有关更多信息,请参见clibgen.generateLibraryDefinition
.
使用的Matlab阵列的内存clibArray
或者clibConvertArray
为MATLAB所有。要释放记忆,就呼唤clibRelease
.
clibArray
|clibConvertArray
|clibRelease