配列の操作
Contents
配列の操作¶
連番行列の作成¶
nx = 5
ny = 3
x = reshape(collect(1:nx*ny), (nx, ny))
5×3 Matrix{Int64}:
1 6 11
2 7 12
3 8 13
4 9 14
5 10 15
配列にアクセスする順序¶
最も早い順序(メモリ上の順序)でアクセスする方法は、以下のように1ループでアクセスすれば良い。
for k = 1:nx*ny
print(x[k],',')
end
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
2重のforループで同じようにアクセスするには、以下の順番でfor文を書く。
for j = 1:ny
for i = 1:nx
print(x[i,j],',')
end
end
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
行列をフラット (ベクトル) にする¶
x_flatten = vec(x)
15-element Vector{Int64}:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ベクトルを行列にする¶
x_ = reshape(x_flatten, (nx, ny))
5×3 Matrix{Int64}:
1 6 11
2 7 12
3 8 13
4 9 14
5 10 15
転置¶
using LinearAlgebra
Transpose(x)
3×5 transpose(::Matrix{Int64}) with eltype Int64:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15