在Julia中初始化一个数组

6

我有这段代码:A = Array{Float64,4}(undef, 2,1,1, 4) 它会给我一个大小为(2,1,1,4)并填充了随机数的数组。 我该如何初始化这个数组?


[:,:,:,1,1] = 1 1[:,:,:,1,2] = 1 0[:,:,:,1,3] = 0 1[:,:,:,1,4] = 0 0 我想要像这样的,有什么帮助吗?谢谢。 - Mahmut215
3
这样怎么样:A = cat(dims=4, [1,1], [1,0], [0,1], [0,0]) - DNF
非常有帮助,谢谢 @DNF - Mahmut215
2个回答

5
你可以使用fill!函数将其填充为任何你想要的值:
julia> A = Array{Float64,2}(undef, 2, 3)
2×3 Array{Float64,2}:
 6.93727e-310  6.93727e-310  6.93727e-310
 6.93728e-310  6.93727e-310  0.0         

julia> fill!(A, 42.0);

julia> A
2×3 Array{Float64,2}:
 42.0  42.0  42.0
 42.0  42.0  42.0

请注意,您可以直接使用fill函数:
julia> fill(42.0, 2, 3)
2×3 Array{Float64,2}:
 42.0  42.0  42.0
 42.0  42.0  42.0

如果您希望将其归零(这很常见),则可以使用zeros

julia> zeros(2, 3)
2×3 Array{Float64,2}:
 0.0  0.0  0.0
 0.0  0.0  0.0

我会添加一个特定类型的数字示例,这只是锦上添花哈哈哈。 - longemen3000

-1

[:,:,:,1,1] = 1 1[:,:,:,1,2] = 0 1[:,:,:,1,3] = 1 0[:,:,:,1,4] = 0 0 如何进行这样的初始化 - Mahmut215
嘿,我不确定你的意思是什么。 - logankilpatrick
我不想要随机数字。 - Mahmut215
1
如果您想要一个特定类型的数字,请使用(例如Int8)fill(Int8, 2,1,1,4) - longemen3000
我想将它初始化为-inf。但是它会抛出错误。你能建议该怎么做吗?我使用的是z = Array{Float64,2}(-inf, d),但它显示未定义-inf。 - user16116851

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