Для конкатенации массивов Java® объекты, используйте MATLAB®
cat
функция или квадратная скобка ([]
) операторы.
Конкатенировать объекты Java можно только вдоль первой (вертикальной) или второй (горизонтальной) осей. Дополнительные сведения см. в разделе Как MATLAB представляет массивы Java.
Этот пример горизонтально конкатенирует два массива Java. Создайте массивы 2 на 3 d1
и d2
.
d1 = javaArray('java.lang.Double',2,3); for m = 1:2 for n = 1:3 d1(m,n) = java.lang.Double(n*2 + m-1); end end d1
d1 = java.lang.Double[][]: [2] [4] [6] [3] [5] [7]
d2 = javaArray('java.lang.Double',2,2); for m = 1:2 for n = 1:3 d2(m,n) = java.lang.Double((n+3)*2 + m-1); end end d2
d2 = java.lang.Double[][]: [8] [10] [12] [9] [11] [13]
Сцепите два массива по второй (горизонтальной) размерности.
d3 = cat(2,d1,d2)
d3 = java.lang.Double[][]: [2] [4] [6] [8] [10] [12] [3] [5] [7] [9] [11] [13]
Этот пример показывает различие между строкой и конкатенацией столбцов для векторов. Создайте два вектора J1
и J2
.
import java.lang.Integer J1 = []; for ii = 1:3 J1 = [J1;Integer(ii)]; end J1
J1 = java.lang.Integer[]: [1] [2] [3]
J2 = []; for ii = 4:6 J2 = [J2;Integer(ii)]; end J2
J2 = java.lang.Integer[]: [4] [5] [6]
Конкатенация по столбцам. Горизонтальная конкатенация двух векторов Java создает более длинный вектор, который печатается как столбец.
Jh = [J1,J2]
Jh = java.lang.Integer[]: [1] [2] [3] [4] [5] [6]
Конкатенация по строкам. Вертикальная конкатенация двух векторов Java создает 2-D массив Java.
Jv = [J1;J2]
Jv = java.lang.Integer[][]: [1] [2] [3] [4] [5] [6]
Примечание
В отличие от MATLAB, массив Java 3x1 отличается от вектора Java длиной 3. Создайте массив 3x1.
import java.lang.Integer arr1 = javaArray('java.lang.Integer',3,1)
arr1 = java.lang.Integer[][]: [] [] []
Создайте вектор длины 3.
arr2 = javaArray('java.lang.Integer',3)
arr2 = java.lang.Integer[]: [] [] []