我的Julia代码中有一个向量和一个矩阵(Array {T,1}和Array {T,2}),我想附加它们,以使向量成为矩阵中的新行(应为第一排)。我已经尝试了几种方法(cat
等),但是不断收到错误,我认为这些错误与数据的不同形状有关。请参见下面的示例。
julia> v = Vector([1, 2, 3])
3-element Array{Int64,1}:
1
2
3
julia> m = Matrix([4 5 6; 7 8 9])
2×3 Array{Int64,2}:
4 5 6
7 8 9
julia> cat(v,m,dims=(1,2))
5×4 Array{Int64,2}:
1 0 0 0
2 0 0 0
3 0 0 0
0 4 5 6
0 7 8 9
我真正想要的是
1 2 3
4 5 6
7 8 9
我意识到我可以将其与transpose(v)
一起使用,但是我希望避免额外的通话。
谢谢!
答案 0 :(得分:0)
只要您可以将v的结构更改为1 x 3数组,就可以避免转置:
julia> v = [1 2 3]
1×3 Array{Int64,2}:
1 2 3
julia> m = [4 5 6; 7 8 9]
2×3 Array{Int64,2}:
4 5 6
7 8 9
julia> vcat(v, m)
3×3 Array{Int64,2}:
1 2 3
4 5 6
7 8 9
我认为只是进行移调
julia> v2 = [1, 2, 3]
3-element Array{Int64,1}:
1
2
3
julia> vcat(v2', m)
3×3 Array{Int64,2}:
1 2 3
4 5 6
7 8 9
效率几乎一样。