主要内容

在。net应用程序中使用数组

通过MATLAB数组来。net

MATLAB®自动将数组转换为。net类型,如MATLAB原始类型转换表.要传递字符数组的数组,请创建单元格数组。对于所有其他类型,使用MATLABNET.createArray函数。

MATLAB创建一个。net数组,将元素从MATLAB数组复制到。net数组,并将其传递给c#。

将原始。net数组转换为MATLAB数组

要在MATLAB中使用。net数组,请调用相应的MATLAB转换函数,如将原始。net类型的数组转换为MATLAB类型.例如,假设。net方法返回netArr类型的系统。Int32 []

netArr = Int32[] with properties: Length: 5 LongLength: 5 Rank: 1 SyncRoot: [1×1 System. netArr] with properties: Length: 5 LongLength: 5 Rank: 1 SyncRoot: [1×1 System. netr]Int32[]] IsReadOnly: 0 IsFixedSize: 1 IsSynchronized: 0

将数组转换为MATLAB的数组int32

B = int32 (netArr)
B = 1×5 int32行向量1 2 3 4 5

结合元素B用MATLAB数组。

A = int32([11 12 13 14 15]);A + B
Ans = 1×5 int32 row vector 12 14 16 18 20

访问。net数组元素MATLAB

使用下标访问。net数组的元素,就像使用MATLAB数组一样。

您不能像在MATLAB中那样使用单个下标(线性索引)来引用多维。net数组的元素,如数组索引.必须为。net数组的每个维度指定索引。

只能使用标量索引来访问。net数组的元素。冒号操作符,在创建、连接和扩展矩阵,不支持。金宝app

使用Get和Set实例函数

或者,您可以使用。net数组的元素得到实例的功能。当使用得到你必须使用c#数组索引,它是基于零的。

例如,创建两个系统。字符串数组,使用功能和直接赋值:

d1 = NET.createArray (system . string’”,3);d1。集(0,' 1 ');d1。集(1、2);d1。集(2,' 3 ');d2 = NET.createArray (system . string’”,3);d2(1) =“1”;d2(2) =“2”; d2(3) = 'zero';

要比较每个数组中第一个元素的值,输入:

System.String.Compare (d1 (1) d2.Get (0))

MATLAB显示0,意思是字符串是相等的。

转换。net Jagged数组为MATLAB数组

在MATLAB命令中使用。net锯齿数组之前,必须对其进行转换。

  • 如果阵列的形状为矩形,则使用相应的MATLAB数值函数。

  • 如果数组不是矩形的,则使用细胞函数。

如果交错数组是多维的,则必须分别转换每个维度中的数组。

另请参阅

|

相关的话题