通过多个矩阵创建矩阵这些矩阵具有通过方程式的元素

1次查看(最近30天)
Bashar Halleem.
Bashar Halleem. 于2020年5月14日
评论: Bashar Halleem.2020年5月21日
这些矩阵有元素通过方程:
矩阵A = 0(1728,432),包含矩阵(12,3)作为对角线每一个元素的方程。
A = [AX1 BX1 CX1 0 0 0 ...;AY1 BY1 CY1 0 0 0 ....;AX2 BX2 CX2 0 0 0 ...;AY2 BY2 CY2 0 0 0 ...;........; AX12 BX12 CX12 0 0 0 ...;AY12 BY12 CY12 0 0 0 ...;0 0 0 AX1 BX1 CX1 0 0 0 ...;0 0 0 AY1 BY1 CY1 0 0 0 ...]。
换句话说,矩阵A =[矩阵(12*3)零零零
零矩阵(12 * 3)零zeros
Zeros Zeros矩阵(12 * 3)零..
... ... ... ...]
ax₁,Bx1系列,…每个元素都等于等式,它们的值在288个输入值时不同。
如果有人可以安排矩阵和主矩阵A的循环。
谢谢你的帮助
谢谢你的任何想法
Bashar.
5点评论
Bashar Halleem.
Bashar Halleem. 2020年5月21日
一种矩阵[AX1 BX1 CX1 0 0 0
AY1By1 Cy1
。。
AX12BX12 CX12.
AY12By12 Cy120.0.0.
0 0 0 Ax13Bx13 Cx13
Ay13截至13 Cy13.
AX24Bx24 Cx24
0 0 0 Ay24BY24 CY24
Ax108Bx108 Cx108
Ay108By108 Cy108
Ax120BX120 CX120
Ay120By120 Cy120]

登录评论。

答案(1)

斯蒂芬
斯蒂芬 2020年5月20日
编辑:斯蒂芬 2020年5月20日
许多编号变量不是一个好方法,您应该在创建它们时将所有这些子矩阵放入一个单元格数组(这是使用索引的级别),即:
C = {M1,M2,......};
在哪里
M1 = [ax₁,Bx1系列,Cx1; Ay1 By1, Cy1,......];
当然,当您创建它们时,您应该只使用索引,而不使用编号的变量名,
那么你所需要的只是一个简单 Blkdiag. 称呼:
b = blkdiag(c {:});
如果实际上只有一个子矩阵重复(如你的问题所示),那么你可以这样做:
c = {m};
B = blkdiag (C {1 (1144)});

社区寻宝

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!