在Julia中初始化一个空数组,其中包含大量数组

coolsv

我正在尝试使用6i个元素初始化Julia 1.1中的空数组,其中-th元素包含1000个数组,这些数组将填充一个循环。例如,如果i-th元素包含3个数组,我可以这样做fill([Array{Float64,1},Array{Float64,1} ,Array{Float64,1}],6,1)但是,如何在不复制Array{Float64,1}1000次的情况下获得空的1000个数组

Przemyslaw Szufel

一些示例取决于您实际要执行的操作:

空数组集:

julia> [[Float64[] for a in 1:3] for b in 1:6]
6-element Array{Array{Array{Float64,1},1},1}:
 [[], [], []]
 [[], [], []]
 [[], [], []]
 [[], [], []]
 [[], [], []]
 [[], [], []]

具有大小的未初始化三维数组6x3x2(也许拥有3D数组实际上比数组数组更方便-取决于您的使用情况):

julia> Array{Float64,3}(undef, 6, 3, 2)
6×3×2 Array{Float64,3}:
[:, :, 1] =
 9.00033e-316  1.52477e-315  1.52473e-315
 7.95655e-316  1.52477e-315  1.52473e-315
 1.52474e-315  8.18796e-316  1.52477e-315
 7.95655e-316  1.52477e-315  1.52474e-315
 1.52474e-315  1.52473e-315  1.52474e-315
 8.03142e-316  1.52473e-315  1.52477e-315

[:, :, 2] =
 7.97808e-316  1.52473e-315  0.0
 8.07774e-316  1.52474e-315  0.0
 1.52474e-315  1.52473e-315  0.0
 1.52474e-315  1.52473e-315  0.0
 7.96305e-316  0.0           0.0
 1.52473e-315  0.0           0.0

未初始化数组的已分配集合:

julia> [[Vector{Float64}(undef,2) for a in 1:3] for b in 1:6]
6-element Array{Array{Array{Float64,1},1},1}:
 [[1.60704e-315, 1.60693e-315], [5.93041e-316, 1.69135e-315], [1.69002e-315, 1.69135e-315]]
 [[5.93223e-316, 5.93223e-316], [5.92882e-316, 4.94066e-324], [5.93223e-316, 5.93223e-316]]
 [[5.92884e-316, 2.122e-314], [5.92883e-316, 1.60853e-315], [5.93041e-316, 5.92887e-316]]
 [[1.69002e-315, 5.92885e-316], [1.60705e-315, 1.60693e-315], [5.93041e-316, 1.69136e-315]]
 [[1.69002e-315, 1.69136e-315], [5.93223e-316, 5.93223e-316], [5.92882e-316, 5.93043e-316]]
 [[5.93223e-316, 5.93223e-316], [5.92884e-316, 5.93043e-316], [5.92883e-316, 5.93223e-316]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章