【问题标题】:MATLAB - create matrix with submatricesMATLAB - 创建带有子矩阵的矩阵
【发布时间】:2012-03-16 06:06:02
【问题描述】:

假设我有三个不同的 2x2 子矩阵,我想在 Matlab 中创建一个大的 6x6 矩阵,其中三个子矩阵出现在对角线上,所有其他值都是 0。如何在不输入所有零的情况下做到这一点明确地?我刚开始学习 MatLab,我真的是个新手。如果有人可以帮助我,我将不胜感激!后来我必须用更多的矩阵来做这个,输入所有的零变得很痛苦!

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    假设你的矩阵命名为M1M2M3,写成blkdiag(M1, M2, M2)。如果您的任何矩阵是稀疏的,那么结果也是如此。否则会很稠。

    【讨论】:

    • 太棒了!非常感谢!我不知道 blkdiag-command :)
    【解决方案2】:

    你可以使用

    A=zeros(6,6)

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

    【讨论】:

    • 这是不完整的答案,对角块没有解决方案
    【解决方案3】:

    还可以定义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 矩阵。有点长,但它有效。喜欢另一种选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多