Matrix 如何利用Julia中的行/列向量构造矩阵

Matrix 如何利用Julia中的行/列向量构造矩阵,matrix,julia,Matrix,Julia,给定一个生成单列的函数/表达式,如何从Julia中的这些列构建矩阵?我尝试了以下(简化示例): 结果是正确的,但这不是我想要的,因为列向量表达式的计算是不必要的(每行一次) 我也尝试过这种替代方法: [column(j) for j in 1:4] ==> 4-element Array{Array{Float64,1},1}: [1.0,1.0,1.0] [2.0,2.0,2.0] [3.0,3.0,3.0] [4.0,4.0,4.0] 但是我没有办法将它转换成我想要的形式(

给定一个生成单列的函数/表达式,如何从Julia中的这些列构建矩阵?我尝试了以下(简化示例):

结果是正确的,但这不是我想要的,因为列向量表达式的计算是不必要的(每行一次)

我也尝试过这种替代方法:

[column(j) for j in 1:4]

==> 4-element Array{Array{Float64,1},1}:
 [1.0,1.0,1.0]
 [2.0,2.0,2.0]
 [3.0,3.0,3.0]
 [4.0,4.0,4.0]
但是我没有办法将它转换成我想要的形式(二维矩阵而不是数组数组)


如何在Julia中实现这一点?

您是否尝试过hcat:

julia> column(j) = [j, j ,j]
column (generic function with 1 method)

julia> my_matrix  = hcat([column(j) for j=1:4]...)
3x4 Array{Int64,2}:
 1  2  3  4
 1  2  3  4
 1  2  3  4

这太完美了,谢谢!我知道*cat函数,但不知道array=>unpackatedtuple通过省略号转换。对其他朱丽亚新手的建议:至少考虑查看文档的最新版本(即使使用旧版本的朱丽亚),也会有一些一般性的改进(例如,这一点)。太好了,很高兴它对你有用。是的,手册变化很快,所以查看最新版本通常是个好主意。如果第二维度很大呢?当
j
运行到大于200万左右的值时,我会出现segfaults或stackoverflow。
julia> column(j) = [j, j ,j]
column (generic function with 1 method)

julia> my_matrix  = hcat([column(j) for j=1:4]...)
3x4 Array{Int64,2}:
 1  2  3  4
 1  2  3  4
 1  2  3  4