Как MATLAB представляет массивы Java

Термин Java® array относится к контейнерному объекту, который содержит постоянное число значений одного типа. Тип массива записан как type[]. Массив массивов — также известный как многомерный массив — использует два или больше набора скобок, такие как String[][].

Термин размерность относится к количеству индексов, требуемых обратиться к элементам массива. Размерность не является мерой длины, ширины и высоты. Например, массив 5 на 1 одномерен, потому что вы используете один индекс, чтобы получить доступ к отдельному элементу. Чтобы работать с двумерным массивом, создайте массив массивов. Чтобы добавить дальнейшие размерности, добавьте больше уровней в массив, делая его массивом массивов массивов, и так далее.

MATLAB® обрабатывает многоуровневые массивы Java как матрицы и многомерные массивы. Используйте тот же синтаксис MATLAB, чтобы получить доступ к элементам массива Java.

Индексация массива

Индексы массива Java основаны на нуле, в то время как индексы массива MATLAB на основе одни. В программировании Java вы получаете доступ к элементам массива y длины N с помощью y[0] через y[N-1]. При работе с этим массивом в MATLAB вы получаете доступ к этим элементам с помощью y(1) через y(N).

Для примера смотрите доступ к Элементам Массива Java.

Форма массивов Java

Двумерный массив MATLAB является прямоугольником, как каждая строка имеет равную длину и каждый столбец равной высоты. Массив Java является массивом массивов и не обязательно придерживается этой прямоугольной формы. Каждый отдельный массив низшего уровня может иметь различную длину.

Следующее изображение показывает массив трех основных массивов различных длин. Зубчатый термин (или неровный) обычно используется, чтобы описать это расположение элементов массива, когда концы массивов не совпадают равномерно. Когда метод Java возвращает зубчатый массив примитивных типов Java, MATLAB хранит его в массиве ячеек.

Функция string MATLAB заполняет зубчатый массив строк Java, делая его прямоугольным массивом MATLAB.

Интерпретация размера массивов Java

Функция size MATLAB возвращает длину массива Java. Количество столбцов всегда равняется 1.

Потенциально неровная форма массива Java лишает возможности измерять массив таким же образом что касается массива MATLAB. В массиве Java никакое одно значение не представляет размер массивов низшего уровня.

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

size(A) возвращает размерности самого высокого уровня массива A. Высший уровень массива имеет размер 3 на 1.

size(A)
ans =
     3     1

Чтобы найти размер массива низшего уровня, например, массив с пятью элементами в строке 3, относятся к строке явным образом.

size(A(3))
ans =
     5     1

Можно задать размерность в команде size с помощью следующего синтаксиса. Однако эта команда только измеряет первую размерность, dim=1, единственную неунарную размерность.

m = size(X,dim)
size(A,1)
ans =
     3

Интерпретация количества размерностей массивов Java

Функция ndims MATLAB всегда возвращает значение 2 для количества размерностей в массиве Java. Это значение является количеством размерностей в массиве верхнего уровня.

Отобразите вектор Java

MATLAB отображает вектор Java как столбец, но обрабатывает его, как будто это был вектор - строка. Для примеров смотрите конкатенацию Массивов Java.

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

|