Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 使用Julia创建三维(或更高)数组_Arrays_Julia - Fatal编程技术网

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

Arrays 使用Julia创建三维(或更高)数组,arrays,julia,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 我想你想要一份清单?这将使创建更

在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

我想你想要一份清单?这将使创建更复杂的数组变得更容易

比如:

[x+1 for x=1:first, y=1:second, z=1:third]
将给出由
X+1
填充的
第一个X第二个X第三个
维度数组


有关更多信息,请参见:)

我认为最干净的手动语法是通过
cat
命令,例如:

cat(3, [1 2 ;3 4], [5 6 ; 7 8]);   % concatenate along the 3rd dimension

这是可行的,但我想知道在给定所有值的情况下,是否有特定的3D数组创建语法。对于2D数组,有
[1 2;3 4]
(作为
重塑([1 3 2 4],2,2)
)的替代品-有没有办法扩展语法来处理3D+数组?这并不是真的必要,因为对于任何大于2 x 2的数组,它都会非常麻烦,并且很容易使用重塑。如果定义
zcat(args…=cat(3,args…)
,那么也许
zcat([12;34],[56;78])
是干净/清晰的。@DanGetz可以更进一步,使用一个可用的二进制中缀运算符,如:
const++=zcat;例如[1 2;3 4]++[5 6;7 8]++[9 10;11 12]