【问题标题】:Adding a Square Matrix to a Larger Square Matrix in Matlab在 Matlab 中将方阵添加到更大的方阵
【发布时间】:2013-12-04 16:19:03
【问题描述】:

我有一个大小为 30x30 的矩阵 (A),我想将它添加到大小为 33x33 (B) 的零矩阵中。我需要最终的矩阵 B 在矩阵 B 的右下角有 A。我将如何将其写入 Matlab?

提前谢谢你。

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    如果你只想替换B的右下部分:

    B(4:33,4:33) = A;
    

    或者如果你真的想添加 AB 的那部分,正如你的问题标题中所说:

    B(4:33,4:33) = B(4:33,4:33) + A;
    

    【讨论】:

    • 将第二部分调整为有效的matlab语法。
    • 看起来你在我面前发布了相同的答案。这是正确的答案
    • @DennisJaheruddin:谢谢 - 这很有趣 - 我在 Octave 中使用 += 语法对此进行了测试 - MATLAB 不支持 += 吗?
    • @PaulR 不,它没有。请参阅this answer 中的链接进行讨论
    【解决方案2】:

    我猜你真的需要类似的东西

    B(4:33,4:33) = A;
    

    或者:

    B(4:33,4:33) = B(4:33,4:33) + A;
    

    但也许也很有趣:

    B(end+1:end+30,end+1:end+30)=A
    

    这可以很容易地进行调整,以便在下方或右侧进行良好的连接。

    【讨论】:

    • 如果 B 是一个 3x3 的零矩阵,那就可以了。但如果 B 已经分配 33x33,这将不起作用。
    • @AlexandreBizeau 我想你正在寻找我刚刚编辑的中间选项。
    • 是的B(end+1:end+30,end+1:end+30)=A;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多