Java 配列の連結
Java® オブジェクトの配列を連結するには、MATLAB® 関数 cat または大かっこ ([]) 演算子を使用します。
Java オブジェクトは、第 1 軸 (縦軸) または第 2 軸 (横軸) に沿ってのみ連結できます。詳細については、MATLAB による Java 配列の表現方法を参照してください。
2 次元の水平方向の連結
以下の例では、2 つの 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]2 つの配列を 2 番目の (水平) 次元に沿って連結します。
d3 = cat(2,d1,d2)
d3 =
java.lang.Double[][]:
[2] [4] [6] [8] [10] [12]
[3] [5] [7] [9] [11] [13]ベクトル連結
この例では、ベクトルの行連結と列連結の違いを説明します。2 つのベクトル 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]列で連結します。2 つの Java ベクトルを水平に連結すると長いベクトルが作成され、列として出力されます。
Jh = [J1,J2]
Jh =
java.lang.Integer[]:
[1]
[2]
[3]
[4]
[5]
[6]行で連結します。2 つの Java ベクトルを垂直に連結すると 2 次元の Java 配列が作成されます。
Jv = [J1;J2]
Jv =
java.lang.Integer[][]:
[1] [2] [3]
[4] [5] [6]メモ
MATLAB とは異なり、3 行 1 列の Java 配列は長さ 3 の Java ベクトルと同じではありません。3 行 1 列の配列を作成します。
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[]:
[]
[]
[]