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

Термин Java® массив относится к объекту контейнера, который содержит фиксированное количество значений одного типа. Тип массива записывается как 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 является массивом массивов и не обязательно удерживает эту прямоугольную форму. Каждый отдельный массив нижнего уровня может иметь разную длину.

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

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

Интерпретируйте размер массивов Java

MATLAB size функция возвращает длину массива 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

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

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

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

См. также

|