🔥
Julia 二元配列の早見表
配列の作成
julia> Array{Int32}(undef, 2, 3)
2×3 Matrix{Int32}:
0 0 0
0 0 0
julia> zeros(Int32, 2, 3)
2×3 Matrix{Int32}:
0 0 0
0 0 0
julia> ones(Int32, 2, 3)
2×3 Matrix{Int32}:
1 1 1
1 1 1
julia> reshape(1:6, (2, 3))
2×3 reshape(::UnitRange{Int64}, 2, 3) with eltype Int64:
1 3 5
2 4 6
julia> [1 2 3; 4 5 6]
2×3 Matrix{Int64}:
1 2 3
4 5 6
julia> rand(Int32, (2, 3))
2×3 Matrix{Int32}:
896345269 1411373530 -983811217
-274245907 -700326381 671891989
julia> fill(2, (2, 3))
2×3 Matrix{Int64}:
2 2 2
2 2 2
要素の取得
Juliaは、column-major orderです。また、添字は1から始まります。
下の行列を元に確認します。
julia> A = reshape(1:6, (2, 3))
2×3 reshape(::UnitRange{Int64}, 2, 3) with eltype Int64:
1 3 5
2 4 6
julia> A[1]
1
julia> A[2]
2
julia> A[3]
3
列や行の単位で値を取得することも出来ます。
julia> A[1, :] # 列単位で値を取得する
3-element Vector{Int64}:
1
3
5
julia> A[:, 1] # 行単位で値を取得する
2-element Vector{Int64}:
1
2
要素の追加
ulia> A = reshape(1:6, (2, 3))
2×3 reshape(::UnitRange{Int64}, 2, 3) with eltype Int64:
1 3 5
2 4 6
julia> B = [7 8; 9 10]
2×2 Matrix{Int64}:
7 8
9 10
julia> hcat(A, B) # 列に追加する
2×5 Matrix{Int64}:
1 3 5 7 8
2 4 6 9 10
julia> C = [7 8 9]
1×3 Matrix{Int64}:
7 8 9
julia> vcat(A, C) # 行に追加する
3×3 Matrix{Int64}:
1 3 5
2 4 6
7 8 9
要素の削除
InvertedIndicesライブラリを使う。
julia> using InvertedIndices
julia> A = reshape(1:9, (3, 3))
3×3 reshape(::UnitRange{Int64}, 3, 3) with eltype Int64:
1 4 7
2 5 8
3 6 9
julia> A[:, Not(2)] # 2列目を削除する
3×2 Matrix{Int64}:
1 7
2 8
3 9
julia> A[Not(2), :] # 2行目を削除する
2×3 Matrix{Int64}:
1 4 7
3 6 9
Discussion