假设我有v
类型的变量Vector
。
将其转换为Matrix
表示(无论出于何种原因)的最佳/最快方式是什么?
要澄清一下,v''
会完成这项工作,但这是最好的方法吗?
答案 0 :(得分:14)
重塑应该是最有效的。来自文档:
重塑(A,dims):创建一个数组,其数据与给定数组相同,但尺寸不同。特定类型数组的实现可以选择是复制还是共享数据。
julia> v = rand(3)
3-element Array{Float64,1}:
0.690673
0.392635
0.0519467
julia> reshape(v, length(v), 1)
3x1 Array{Float64,2}:
0.690673
0.392635
0.0519467
答案 1 :(得分:6)
v[:,:]
可能是最明智的方法。
例如:
julia> v=[1,2,3]
3-element Array{Int64,1}:
1
2
3
julia> m=v[:,:]
3x1 Array{Int64,2}:
1
2
3
julia> ndims(m)
2
答案 2 :(得分:0)
或仅使用:
v = [1, 2, 3]
hcat(v)
结果:
3×1 Array{Int64,2}:
1
2
3