2012-02-26 254 views
3

假设我有三个不同的2x2子矩阵,我想在Matlab中创建一个大的6x6矩阵,其中三个子矩阵出现在对角线上,其他所有值都是0.我该怎么做这没有明确输入所有的零?我刚开始学习MatLab,我真的是一个新手。如果有人能帮助我,我将非常感激!后来我必须用更多的矩阵来做这件事,而输入所有的零就变成了一种痛苦!MATLAB - 用子矩阵创建矩阵

回答

7

假设您的矩阵被命名为M1,M2,M3,请写blkdiag(M1, M2, M2)。如果你的任何矩阵都很稀疏,那么结果就是如此。否则它会很密集。

+0

太棒了!非常感谢!我不知道blkdiag命令:) – Kristian 2012-02-26 13:58:57

-1

可以使用

A =零(6,6)

创建一个6×6矩阵的所有阵列为零。

+0

这是不完整的答案,没有对角线块的解决方案 – 2012-10-19 21:23:49

0

也可以定义a=zeros(6);然后你可以开始键入a(1:2,1:2)=a11, a(3:4,3:4)=a22,a(5:6,5:6)=a33,其中a11,a22和a33是你的2×2矩阵。有点长,但它的作品。像另一种选择。