我想用常量条目初始化Julia中的三维数组.对于我可以使用的2d案例
A = [1 2; 3 4]
Run Code Online (Sandbox Code Playgroud)
是否有类似的3D数组短语法?
可以使用cat或reshape函数来完成任务:(使用 Julia-1.0.0 测试):
julia> cat([1 2; 3 4], [5 6; 7 8], dims=3)
2×2×2 Array{Int64,3}:
[:, :, 1] =
1 2
3 4
[:, :, 2] =
5 6
7 8
Run Code Online (Sandbox Code Playgroud)
对于更高的Array维度,cat调用必须嵌套:cat(cat(..., dims=3), cat(..., dims=3), dims=4)。
该reshape函数允许Arrays“一次”构建更高维度,即无需嵌套调用:
julia> reshape([(1:16)...], 2, 2, 2, 2)
2×2×2×2 Array{Int64,4}:
[:, :, 1, 1] =
1 3
2 4
[:, :, 2, 1] =
5 7
6 8
[:, :, 1, 2] =
9 11
10 12
[:, :, 2, 2] =
13 15
14 16
Run Code Online (Sandbox Code Playgroud)
不是在这个时候,虽然以下内容不是太糟糕
A = zeros(2,2,2)
A[:,:,1] = [1 2; 3 4]
A[:,:,2] = [10 20; 30 40]
Run Code Online (Sandbox Code Playgroud)