Инициализировать массив в Юлии - PullRequest
4 голосов
/ 29 января 2020

У меня есть этот код: A = Array{Float64,4}(undef, 2,1,1, 4), и он дает мне массив размером (2,1,1,4) со случайными числами. Как я могу инициализировать этот массив?

Ответы [ 2 ]

4 голосов
/ 29 января 2020

Вы можете использовать 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
0 голосов
/ 29 января 2020

Приведенный ниже код создает массив, который инициализируется случайными значениями.

julia> rand(Int8, 2,1,1,4)
2×1×1×4 Array{Int8,4}:
[:, :, 1, 1] =
 114
  26

[:, :, 1, 2] =
 -52
 -96

[:, :, 1, 3] =
  42
 -53

[:, :, 1, 4] =
 -106
   47

Подробнее об инициализации массива см. В документации Julia.

...