2012-02-26 293 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矩陣。有點長,但它的作品。像另一種選擇。