alpha = [1 2 3; 4 5 6]
alpha[:, 1] # Type is Array{Int64, 1}
alpha[:, 1:2] # Type is Array{In64, 2}
Run Code Online (Sandbox Code Playgroud)
我只是想阻止自动类型转换,但我很难搞清楚如何做到这一点.是的,我可以去alpha[:, 1]'',但我想阻止内存重新分配.有vec()另一个方向(1xn矩阵),但我找不到保持(nx1)矩阵为矩阵的函数.
而不是简单地指定索引(Int64所需的列的),指定的范围(UnitRange{Int64}的)长度1:1:1.
这将欺骗Julia保留2D数组类型(Array{Int64,2})而不是返回vector(Array{Int64,1}).
编辑:开发人员在这里讨论了这个主题(感谢Colin指点我).
julia> alpha = [1 2 3; 4 5 6]
2x3 Array{Int64,2}:
1 2 3
4 5 6
julia> alpha[:,1] # nope
2-element Array{Int64,1}:
1
4
julia> alpha[:,1:1] # yep
2x1 Array{Int64,2}:
1
4
Run Code Online (Sandbox Code Playgroud)