Для конкатенации массивов 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[]:
[]
[]
[]