В этом примере показано, как создать массив jagged .NET из System.Double
использование NET.createArray
функция.
Создайте массив трех элементов. Можно пройти jArr
любому методу .NET с входом или выходным аргументом типа System.Double[][]
.
jArr = NET.createArray('System.Double[]',3)
jArr = Double[][] with properties: Length: 3 LongLength: 3 Rank: 1 SyncRoot: [1×1 System.Double[][]] IsReadOnly: 0 IsFixedSize: 1 IsSynchronized: 0
В этом примере показано, как создать массив MATLAB® векторы символов для передачи в метод, MethodStringArr
, с System.String[][]
входной параметр.
Ниже представлена сигнатура функции MATLAB для MethodStringArr
.
Тип возврата | Имя | Аргументы |
---|---|---|
System.String[][] RetVal | MethodStringArr | (NetPackage.StringClass this, |
MATLAB, векторы символов вы хотите передать в метод:
str1 = {'this', 'is'}; str2 = 'jagged';
Создайте переменную, netArr
, из System.String
массивы, который содержит два массива. Использование NET.createArray
, а typeName
для этого массива System.String[]
, и размерность 2
.
netArr = NET.createArray('System.String[]',2);
Массивы содержат пустые строки.
Создание System.String
массивы, соответствующие векторам символов MATLAB, str1
и str2
.
netArr(1) = NET.createArray('System.String',2); netArr(2) = NET.createArray('System.String',1);
Присвоение str1
и str2
на netArr
.
netArr(1) = str1; netArr(2,1) = str2;
Потому что str2
является скаляром и netArr(2)
ожидает массив, необходимо назначить str2
к конкретному элементу netArr(2,1)
.
Теперь можно пройти netArr
на MethodStringArr
способ.
class(netArr)
ans = System.String[][]
В этом примере показано, как создать массив MATLAB, чтобы передать в метод, MethodMultiDArr
, с многомерным входным параметром в виде зубчатых массивов System.Double
тип.
Ниже представлена сигнатура функции MATLAB для MethodMultiDArr
. Вход является многомерным зубчатым массивом, который содержит одномерные элементы.
Тип возврата | Имя | Аргументы |
---|---|---|
System.Double[][,] RetVal | MethodMultiDArr | (NetPackage.NumericClass this, |
Создайте 2
-by- 3
массив с typeName
от System.Double[]
.
arr = NET.createArray('System.Double[]',2,3);
Элементы являются пустыми массивами.
Массивы MATLAB, которые вы хотите передать в метод:
A1 = [1 2 3]; A2 = [5 6 7 8];
MATLAB автоматически преобразует числовой массив в эквивалентный тип .NET.
arr(1,1) = A1; arr(1,2) = A2;
Массивы arr
является System.Double[][,]
зубчатый массив.
arr
arr = Double[][,] with properties: Length: 6 LongLength: 6 Rank: 2 SyncRoot: [1x1 System.Double[][,]] IsReadOnly: 0 IsFixedSize: 1 IsSynchronized: 0
Теперь можно пройти arr
на MethodMultiDArr
способ.