以下のような 2×3×4 行列を作る方法は 2 通りある。
2×3×4 Array{Int64,3}:
[:, :, 1] =
1 3 5
2 4 6
[:, :, 2] =
7 9 11
8 10 12
[:, :, 3] =
13 15 17
14 16 18
[:, :, 4] =
19 21 23
20 22 24
第1の方法
Julia は R や FORTRAN と同じように,列優先(次元表示の左にある添え字が最も速く変化する)なので,列優先で 1 次元配列(ベクトル)を用意して,reshape() で次元を定義し直す。
reshape([1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24], (2, 3, 4))
この場合は,以下のように書くこともできる。
reshape(1:24, 2, 3, :)
第2の方法
行優先で第1,第2次元の配列を定義し,cat で連結するときに dims=3 を指定する。
cat([1 3 5; 2 4 6], [7 9 11; 8 10 12],
[13 15 17; 14 16 18], [19 21 23; 20 22 24], dims=3)
※コメント投稿者のブログIDはブログ作成者のみに通知されます