这些矩阵有元素由方程

1次查看(最近30天)
巴沙尔halleem
巴沙尔halleem 2020年5月14日
评论道: 巴沙尔halleem2020年5月21日
这些矩阵有元素通过方程:
矩阵A = 0(1728,432),包含矩阵(12,3)作为对角线每一个元素的方程。
A = [Ax1 Bx1 Cx1 0 0…];Ay1 By1 Cy1 0 0 ....;Ax2 Bx2 Cx2 0 0 0…;Ay2 By2 Cy2 0 0…;........;Ax12 Bx12 Cx12 0 0…;Ay12 By12 Cy12 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)
矩阵(12*3)零…
... ... ... ...]
ax₁,Bx1系列,…每个元素都等于等式,它们的值在288个输入值时不同。
如果有人能安排矩阵和主矩阵A的循环。
谢谢你的帮助
谢谢你的想法
巴沙尔
5个评论
巴沙尔halleem
巴沙尔halleem 2020年5月21日
一个矩阵[Ax1 Bx1 Cx1 0 0 0 .
Ay1By1 Cy1
. . . . . .
Ax12Bx12 Cx12
Ay12By12 Cy12000
0 0 0 Ax13Bx13 Cx13
Ay13By13 Cy13
. . .
Ax24Bx24 Cx24
0 0 0 Ay24By24 Cy24
Ax108Bx108 Cx108
Ay108By108 Cy108
. . .
Ax120Bx120 Cx120
Ay120By120 Cy120]

登录评论。

答案(1)

Stephen Cobeldick
Stephen Cobeldick 2020年5月20日
编辑:Stephen Cobeldick 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中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!