В этом примере показано, как создать массив 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 способ.