如何在Julia中创建矩阵的矩阵(或数组{Float64,2}的数组{Float64,2})?

如何在Julia中创建矩阵的矩阵(或数组{Float64,2}的数组{Float64,2})?,julia,Julia,所以, 我需要一个矩阵a在维度(2行2列)中为(2,2),并且我需要每个元素包含一个(3,3)矩阵。基本上,我想存储如下内容: A[1,1] = rand(3,3); A[1,2] = rand(3,3); A[2,1] = rand(3,3); A[2,2] = radn(3,3); 如何初始化此数组 我尝试了很多方法,但都不管用,而且我仍然找不到任何正确的方向。我将感激你能提供的任何帮助!提前感谢并保持安全 只要做: julia> a = [rand(3,3) for i in 1:

所以, 我需要一个矩阵
a
在维度(2行2列)中为(2,2),并且我需要每个元素包含一个(3,3)矩阵。基本上,我想存储如下内容:

A[1,1] = rand(3,3);
A[1,2] = rand(3,3);
A[2,1] = rand(3,3);
A[2,2] = radn(3,3);
如何初始化此数组

我尝试了很多方法,但都不管用,而且我仍然找不到任何正确的方向。我将感激你能提供的任何帮助!提前感谢并保持安全

只要做:

julia> a = [rand(3,3) for i in 1:2, j in 1:2]
2×2 Matrix{Matrix{Float64}}:
 [0.053357 0.711579 0.75664; 0.845828 0.636514 0.320966; 0.602228 0.711782 0.621663]   [0.699139 0.18294 0.589273; 0.394751 0.58442 0.338332; 0.877285 0.195956 0.684808]
 [0.636646 0.549331 0.143829; 0.689687 0.625455 0.932277; 0.304346 0.479196 0.172392]  [0.749814 0.165602 0.116884; 0.120514 0.791254 0.0774126; 0.481224 0.534405 0.0506928]
如果您需要一个未初始化的矩阵,而不是您可以做的:

julia> m = Matrix{Matrix{Float64}}(undef, 2, 2)
2×2 Matrix{Matrix{Float64}}:
 #undef  #undef
 #undef  #undef

julia> m[1,1] = rand(3,3); m
2×2 Matrix{Matrix{Float64}}:
    [0.319113 0.791794 0.834767; 0.785798 0.861869 0.948621; 0.754274 0.474736 0.758176]  #undef
 #undef                                                                                   #undef

关键是
数组{Float64,2}
存储
Float64
s。您需要
Array{Array{Float64,2},2}
(或
Matrix{Matrix{Float64}
)最后一个示例(带初始化)正是我需要的。非常感谢!