如何在Julia中声明一个二维向量

3
我希望在Julia中声明一个向量的向量,就像下面这样:
V = [v1,v2,v3,...]
其中v1,v2,v3...的维度为K x 1
请问如何实现这个语法?

一个空数组?V = Array {Vector, 1}()或者你想用值来初始化吗?顺便提一下,在Julia中,向量只是平面数组的别名。 - Alexander Morley
2
这有点取决于Julia的版本。但在0.5/0.6中,使用v1v2向量的[v1,v2]可以直接工作。 - Dan Getz
2个回答

9
在Julia 1.0+中,接受的答案不再适用。现在你必须像这样做:
V = [Vector{Float64}(undef,5) for _ in 1:10]

6
你可以使用Vector{Vector{Float64}}(5)来声明一个长度为5的浮点数向量,例如或者使用Vector{Vector{Float64}}(0)来创建一个空的向量。但是这并没有真正分配内存,因为每个包含的向量的大小都未定义。
如果你想要实际分配内存,你可以使用类似以下的推导式:
V = [Vector{Float64}(5) for _ in 1:10]

对于一个长度为10的长度为5的向量,如果你想将其初始化为零,请执行以下操作:

V = [zeros(5) for _ in 1:10]

1
请注意,这仅适用于Julia <= 0.7。请参见下面的答案,以获取在Julia 1.0+中运行的修改版本。 - spacetyper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接