朱莉娅:如何在朱莉娅中逐行填充矩阵

时间:2016-07-11 13:19:16

标签: matrix vector julia

我有200个载体;每个人的长度都是10000。

我想填充一个矩阵,使每行代表一个向量。

2 个答案:

答案 0 :(得分:4)

如果你的向量已经存储在数组中,那么你可以在这里使用vcat( )

A = [rand(10000)'  for idx in 1:200]
B = vcat(A...)

答案 1 :(得分:2)

Julia以列为主要顺序存储矩阵,因此您将不得不对此进行调整

如果您有200个长度为100000的向量,您应首先创建一个空向量,a = [],这将是您的矩阵 然后你必须vcat第一个向量到你的空向量,像这样

v = your vectors, however they are defined 
a = []
a = vcat(a, v[1])

然后你可以通过

迭代矢量2:200
for i in 2:200
    a = hcat(a,v[i])
end 

最后换位

a = a'

或者,您可以

a = zeros(200,10000)

for i in 1:length(v)
    a[i,:] = v[i]
end 

但我认为如果性能完全没问题就不会那么快,因为正如我所说,julia以列主要顺序存储,因此访问速度会慢一些

来自reschu评论的

编辑

a = zeros(10000,200)

for i in 1:length(v)
    a[:,i] = v[i]
end 

a = a'