【发布时间】:2015-07-06 00:14:08
【问题描述】:
给定一个产生单列的函数/表达式,如何在 Julia 中从这些列构建矩阵?我尝试了以下(简化示例):
column(j) = [j, j, j] # for example
my_matrix = Float64[column(j)[i] for i in 1:3, j in 1:4]
==> 3x4 Array{Float64,2}:
1.0 2.0 3.0 4.0
1.0 2.0 3.0 4.0
1.0 2.0 3.0 4.0
结果是正确的,但这不是我想要的,因为列向量表达式被不必要地评估(每行一次)。
我也尝试过这种替代方法:
[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 中实现这一点?
【问题讨论】: