Преобразование данных между Java и MATLAB

Обзор

Подпись вызова для метода, который инкапсулирует функцию MATLAB®, использует один из классов преобразования данных MATLAB, чтобы передать аргументы и возвратить выходной параметр. Когда вы вызываете любой такой метод, все входные параметры, не выведенные от одного из классов MWArray, преобразованы компилятором в правильный тип MWArray прежде чем быть переданным методу MATLAB.

Например, рассмотрите следующий оператор Java®:

result = theFourier.plotfft(3, data, new Double(interval));

Третий аргумент имеет тип java.lang.Double, который преобразовывает в MATLAB массив double 1 на 1.

См. Правила для Преобразования Данных Между Java и MATLAB для полного списка правил преобразовать между типами данных MATLAB Compiler SDK™ и Java.

Вызовите методы MWArray

Правила преобразования применяются не только когда вызов ваших собственных методов, но также и при вызове конструкторов и методов фабрики, принадлежащих классам MWArray. Например, следующий код вызывает конструктора для класса MWNumericArray с входом Java double. Продукт MATLAB Compiler SDK преобразовывает вход Java double в экземпляр MWNumericArray, имеющего свойство ClassID MWClassID.DOUBLE. Это - эквивалент MATLAB массив double 1 на 1.

double Adata = 24;
MWNumericArray A = new MWNumericArray(Adata);
System.out.println("Array A is of type " + A.classID());

Когда вы запускаете этот пример, результаты следующие:

Array A is of type double

Определение типа

Чтобы задать MATLAB к преобразованию типов Java, вы предоставляете определенный тип данных в конструкторе. Продукт MATLAB Compiler SDK преобразовывает в заданный тип вместо того, чтобы следовать правилам преобразования по умолчанию.

Следующий код указывает, что A должен быть создан как MATLAB 16-битный целочисленный массив 1 на 1:

double Adata = 24;
MWNumericArray A = new MWNumericArray(Adata, MWClassID.INT16);

Создайте буферизованные изображения из массива MATLAB

Используйте метод renderArrayData для:

  • Создайте буферизованное изображение из данных в данном массиве MATLAB.

  • Проверьте, что массив имеет три измерения (высота, ширина и компонент цвета).

  • Проверьте, что порядок компонента цвета является красным, зеленым, и синим.

    Поиск на renderArrayData в Javadoc для получения информации о входных параметрах, возвращаемых значениях, исключения, выданные, и примеры. Javadoc расположен в matlabroot/help/javabuilder/MWArrayAPI.