我想创建一个矩阵数组。
我知道数组的大小必须是 M,因为我有 M 个矩阵;我知道这些矩阵每个都有 2 列。
问题是我试图从空矩阵开始,然后迭代地向其中添加行,而不受所有矩阵具有相同行数的约束。
有办法吗?
我已经尝试过构造一个多维数组,但这根本不合适;我什至尝试过元组。
为了更好的描述:我有 k 个反应,每个反应都有一个矩阵 S_k,有两列和未定义的行数,用于描述每次反应的状态:所以每一行都是一对(时间,反应数)。
提前谢谢您。
我可能误解了这个问题,但是是的,你可以有一个不同维度的矩阵数组。下面是一个推导式示例,它创建一个由 5 个矩阵组成的数组,每个矩阵有 2 列和不同的行号:
julia> array_of_matrices = [rand(rand(3:6), 2) for _ ∈ 1:5]
5-element Vector{Matrix{Float64}}:
[0.16390977474247215 0.5022783236167151; 0.8260932806530918 0.048892058894993706; 0.2050982225126189 0.8268597022605331; 0.3679999922676087 0.2615738525064113]
[0.23019816493422351 0.503170237173157; 0.996702030925437 0.9008237078743219; 0.0778729856221484 0.15888300734850347]
[0.7363004053694209 0.7680290196196188; 0.841073281477227 0.3474907079656052; 0.832204878714787 0.6334775322221707]
[0.04549708519503681 0.21413209287307777; 0.6149843201061922 0.08611491251184544; 0.23532316106387152 0.7183110423286065; 0.027245255826792825 0.30094149139867366]
[0.6261976636707116 0.8589227302567523; 0.07592584211609932 0.4085978842890514; … ; 0.780572443259161 0.71446197309504; 0.3217816825050146 0.6992322737059268]
julia> array_of_matrices[1]
4×2 Matrix{Float64}:
0.16391 0.502278
0.826093 0.0488921
0.205098 0.82686
0.368 0.261574
julia> array_of_matrices[2]
3×2 Matrix{Float64}:
0.230198 0.50317
0.996702 0.900824
0.077873 0.158883