使用Julia创建三个(或更高)维数组

时间:2016-08-09 20:58:38

标签: arrays julia

在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

2 个答案:

答案 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:)