MATLAB®
javaArray функция позволяет вам создать Java® массив, который MATLAB обрабатывает как один многомерный массив. Вы задаете номер и размер измерений массива наряду с классом объектов, которые вы намереваетесь хранить в нем. Используя одномерный массив Java как его первичный базовый блок, MATLAB затем создает массив Java, который удовлетворяет размерностям, которые требуют в javaArray команда.
Чтобы создать объектный массив Java, используйте MATLAB javaArray функция. Например, следующая команда создает массив Java четырех массивов низшего уровня, каждый содержащий пять объектов java.lang.Double класс.
dblArray = javaArray('java.lang.Double',4,5); javaArray функция не инициализирует значения в массиве. Этот код копирует первые четыре строки массива MATLAB A, содержа случайным образом сгенерированные данные, в dblArray.
A = rand(5); for m = 1:4 for n = 1:5 dblArray(m,n) = java.lang.Double(A(m,n)); end end dblArray
dblArray =
java.lang.Double[][]:
[0.7577] [0.7060] [0.8235] [0.4387] [0.4898]
[0.7431] [0.0318] [0.6948] [0.3816] [0.4456]
[0.3922] [0.2769] [0.3171] [0.7655] [0.6463]
[0.6555] [0.0462] [0.9502] [0.7952] [0.7094]
Необходимо преобразовать каждый элемент A к java.lang.Double ввод. Для получения дополнительной информации смотрите Объекты Передачи Java.
Чтобы передать массив примитивного Java вводят к методу Java, необходимо передать в массиве эквивалентного типа MATLAB. Для получения дополнительной информации отображения типа смотрите Тип MATLAB к Отображению Типа Java.
Например, создайте java.awt.Polygon путем рассмотрения конструкторов в следующем окне методов.
methodsview('java.awt.Polygon')Этот конструктор использует массив Java int.
Polygon (int[],int[],int)
MATLAB преобразует double MATLAB к скаляру Java или массиву int. Создайте два массива MATLAB, идентифицировав четыре точки многоугольника.
x = [10 40 95 125 10]; y = [50 15 0 60 50]; polygon = java.awt.Polygon(x,y,length(x));
Вызывать Polygon метод объекта contains, посмотрите на его подпись в окне метода.
boolean contains (double,double)
MATLAB преобразует double MATLAB на Java double. Этот оператор проверяет, ли точка (50,40) в многоугольнике.
contains(polygon,50,40)
ans = logical 1