假设我有三个不同的2x2子矩阵,我想在Matlab中创建一个大的6x6矩阵,其中三个子矩阵出现在对角线上,所有其他值都是0.如何在不输入所有零的情况下执行此操作明确?我刚开始学习MatLab,我真的很新手。如果有人可以帮助我,我将非常感激!后来我必须用更多的矩阵来做这件事,并且输入所有零点正变得很痛苦!
答案 0 :(得分:7)
假设您的矩阵的名称为M1
,M2
,M3
,请写blkdiag(M1, M2, M2)
。如果你的任何矩阵稀疏,那么结果也是如此。否则会很密集。
答案 1 :(得分: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矩阵。有点长,但它的工作原理。像另一种选择。
答案 2 :(得分:-1)
你可以使用
A =零(6,6)
创建一个所有数组为零的6 * 6矩阵。