Этот пример показывает, как создать зубчатый массив.NET System.Double с помощью функции NET.createArray.
Создайте три массива элемента. Можно передать jArr любому методу.NET с аргументом ввода или вывода типа System.Double[][] '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.
| Возвратите тип | Имя | Аргументы |
|---|---|---|
Система. Строка [] [] RetVal | MethodStringArr | (NetPackage. StringClass это, |
Векторы символов MATLAB, которые вы хотите передать методу:
str1 = {'this', 'is'};
str2 = 'jagged';
Создайте переменную, netArr, массивов System.String, который содержит два массива. Используя NET.createArray, typeName для этого массива является System.String[], и размерностью является 2.
netArr = NET.createArray('System.String[]',2);
Массивы содержат пустые строки.
Создание системы. Массивы строк, чтобы соответствовать векторам символов 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. Входной параметр является многомерным зубчатым массивом, который содержит единственные размерные элементы.
| Возвратите тип | Имя | Аргументы |
|---|---|---|
Система. Дважды [] [] RetVal | MethodMultiDArr | (NetPackage. NumericClass это, |
Создайте 2-by-3 массив с typeName System.Double[] '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.