在Julia中,;
可用于创建二维数组。
julia> [1 2; 3 4]
2x2 Array{Int64,2}:
1 2
3 4
是否可以使用类似的语法来创建三维(或更高维)的数组?以下是有效的,但我不确定是否有更清洁,更好的方式。
julia> reshape(collect(1:8), 2, 2, 2)
2x2x2 Array{Int64,3}:
[:, :, 1] =
1 3
2 4
[:, :, 2] =
5 7
6 8
答案 0 :(得分:10)
我认为最干净的手动语法是通过cat
命令,例如:
cat(3, [1 2 ;3 4], [5 6 ; 7 8]); % concatenate along the 3rd dimension
答案 1 :(得分:4)
我想你想要列表理解?当您需要创建更复杂的数组时,这将更容易。
类似的东西:
[x+1 for x=1:first, y=1:second, z=1:third]
将提供由first X second X third
填充的x+1
维数组。
有关详细信息,请参阅http://docs.julialang.org/en/release-0.4/manual/arrays/#comprehensions:)