在Julia中,可以使用以下代码预先分配给定
type
和dims
的数组:A = Array{<type>}(undef,<dims>)
一个10行10列的浮点数矩阵的示例
A = Array{Float64,2}(undef,10,10)
然而,对于数组的预分配,似乎不可能为底层数组提供预分配。
例如,如果我想要初始化一个由n
个复杂浮点矩阵组成的向量,我只能使用这种语法:
A = Vector{Array{ComplexF64,2}}(undef, n)
但如何在向量中预分配每个数组的大小,而不是事后使用循环?例如,我尝试了以下方法:
A = Vector{Array{ComplexF64,2}(undef,10,10)}(undef, n)
显然这是行不通的。
A
定义为Array{Float64}(undef, 10, 10, n)
并循环第三个维度是否更有意义,因为 Julia 是列优先的顺序? - BambOoA[.., i]
。 - phipsgabler