MATLAB-用子矩阵生成矩阵

MATLAB-用子矩阵生成矩阵,matlab,matrix,Matlab,Matrix,假设我有三个不同的2x2子矩阵,我想在Matlab中创建一个大的6x6矩阵,其中三个子矩阵出现在对角线上,所有其他值都是0。如何在不显式输入所有零的情况下执行此操作?我刚开始学习MatLab,我真的是一个新手。如果有人能帮我,我将非常感激!后来我不得不用更多的矩阵来做这件事,输入所有的零变得很痛苦 假设你的矩阵名为M1,M2,M3,写blkdiag(M1,M2,M2)。如果你的矩阵是稀疏的,那么结果也是稀疏的。否则它将是稠密的。您可以使用 A=零(6,6) 创建一个包含所有数组零的6*6矩阵。还

假设我有三个不同的2x2子矩阵,我想在Matlab中创建一个大的6x6矩阵,其中三个子矩阵出现在对角线上,所有其他值都是0。如何在不显式输入所有零的情况下执行此操作?我刚开始学习MatLab,我真的是一个新手。如果有人能帮我,我将非常感激!后来我不得不用更多的矩阵来做这件事,输入所有的零变得很痛苦

假设你的矩阵名为
M1
M2
M3
,写
blkdiag(M1,M2,M2)
。如果你的矩阵是稀疏的,那么结果也是稀疏的。否则它将是稠密的。

您可以使用

A=零(6,6)


创建一个包含所有数组零的6*6矩阵。

还可以定义
a=0(6)然后可以开始键入
a(1:2,1:2)=a11,a(3:4,3:4)=a22,a(5:6,5:6)=a33
,其中a11、a22和a33是2×2矩阵。有点长,但它能工作。喜欢另一种选择。

太好了!谢谢!我不知道blkdiag命令:)这是一个不完整的答案,没有对角块的解决方案