Использование массивов с приложениями.NET

Передающие массивы MATLAB на.NET

MATLAB® автоматически преобразовывает массивы в типы.NET, как описано в Таблице преобразования Типа примитива MATLAB. Чтобы передать массив символьных массивов, создайте массив ячеек. Для всех других типов используйте функцию NET.createArray MATLAB.

MATLAB создает массив.NET, копирует элементы от массива MATLAB до массива.NET и передает его C#.

Доступ к элементам массива.NET в MATLAB

Вы получаете доступ к элементам массива.NET с индексами, точно так же, как с массивами MATLAB.

Вы не можете обратиться к элементам многомерного массива.NET с единственным индексом (линейная индексация) как вы может в MATLAB, как описано в Индексации массива. Необходимо задать индекс для каждой размерности массива.NET.

Можно только использовать скалярную индексацию, чтобы получить доступ к элементам массива.NET. Оператор двоеточия, описанный в Создании, Конкатенации, и Расширении Матриц, не поддержан.

Используя функции экземпляра полученного и набора

Также можно получить доступ к элементам массива.NET с помощью Set и функций экземпляра Get. При использовании Set или Get необходимо использовать индексацию массива C#, которая основана на нуле.

Например, создайте два массива System.String, с помощью Set функциональное и прямое присвоение:

d1 = NET.createArray('System.String',3);
d1.Set(0, 'one');
d1.Set(1, 'two');
d1.Set(2, 'three');

d2 = NET.createArray('System.String',3);
d2(1) = 'one';
d2(2) = 'two';
d2(3) = 'zero';

Чтобы сравнить значения первых элементов в каждом массиве, введите:

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

MATLAB отображает 0, подразумевая, что строки равны.

Преобразование.NET зубчатые массивы к массивам MATLAB

Необходимо преобразовать зубчатый массив.NET перед использованием его в команде MATLAB.

  • Если форма массива является прямоугольной, используйте соответствующую числовую функцию MATLAB.

  • Если массив не является прямоугольным, используйте функцию cell.

Если зубчатый массив многомерен, необходимо индивидуально преобразовать массивы в каждой размерности.

Смотрите также

|

Похожие темы

Была ли эта тема полезной?