2つのInt
配列があれば、a = [1;2;3]
およびb = [4;5;6]
、2つの配列を両方の次元でどのように連結しますか?期待される出力は、
Julia> out1
6-element Array{Int64,1}:
1
2
3
4
5
6
Julia> out2
3x2 Array{Int64,2}:
1 4
2 5
3 6
vcat
およびhcat
関数を使用します。
Julia> a, b = [1;2;3], [4;5;6]
([1,2,3],[4,5,6])
help?> vcat
Base.vcat(A...)
Concatenate along dimension 1
Julia> vcat(a, b)
6-element Array{Int64,1}:
1
2
3
4
5
6
help?> hcat
Base.hcat(A...)
Concatenate along dimension 2
Julia> hcat(a, b)
3x2 Array{Int64,2}:
1 4
2 5
3 6
連結には角括弧を使用できます。
Julia> a, b = [1;2;3], [4;5;6]
([1,2,3],[4,5,6])
Julia> [a; b]
6-element Array{Int64,1}:
1
2
3
4
5
6
Julia> [a b]
3×2 Array{Int64,2}:
1 4
2 5
3 6
cat
関数を使用して、任意の次元に沿って任意の数の配列を連結できます。最初の入力は、連結を実行する次元です。残りの入力は、連結するすべての配列です
a = [1;2;3]
b = [4;5;6]
## Concatenate 2 arrays along the first dimension
cat(1,a,b)
6-element Array{Int64,1}:
1
2
3
4
5
6
## Concatenate 2 arrays along the second dimension
cat(2,a,b)
3x2 Array{Int64,2}:
1 4
2 5
3 6
## Concatenate 2 arrays along the third dimension
cat(3,a,b)
3x1x2 Array{Int64,3}:
[:, :, 1] =
1
2
3
[:, :, 2] =
4
5
6
array {Array、1}に遭遇すると、グラマーは次のように少し異なります。
Julia> a=[[1,2],[3,4]]
2-element Array{Array{Int64,1},1}:
[1, 2]
[3, 4]
Julia> vcat(a)
2-element Array{Array{Int64,1},1}:
[1, 2]
[3, 4]
Julia> hcat(a)
2×1 Array{Array{Int64,1},2}:
[1, 2]
[3, 4]
Julia> vcat(a...)
4-element Array{Int64,1}:
1
2
3
4
Julia> hcat(a...)
2×2 Array{Int64,2}:
1 3
2 4
ref:
...関数定義で多くの引数を1つの引数に結合する関数定義のコンテキストでは、...演算子を使用して、多くの異なる引数を1つの引数に結合します。多くの異なる引数を単一の引数に結合するための...のこの使用は、slurpingと呼ばれます