如何对已经重新排列的矩阵求和

Feb*_*ono 0 matlab sum matrix

我有一些矩阵:

A = [ 1 2 3 4 5 6;
      1 2 3 4 5 6]

B = [ 6 5 4 3 2 1;
      6 5 4 3 2 1]

C = [ 1 2 3 4 5 6;
      1 2 3 4 5 6]
Run Code Online (Sandbox Code Playgroud)

什么是制作以下矩阵的代码:

Result = [1 2 9 9 10 11 5 5 5 6;
          1 2 9 9 10 11 5 5 5 6]
Run Code Online (Sandbox Code Playgroud)

注意:实际上,上面的矩阵是3个矩阵的总和,其上面已经重新排列,如下面的矩阵.#sum是基于列的总和.

1 2 3 4 5 6 
1 2 3 4 5 6
    6 5 4 3 2 1
    6 5 4 3 2 1
        1 2 3 4 5 6
        1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)

和.我将第一行的第一行和第二行的第二行相加.

Isa*_*aac 5

要做你上面说的话:

Result = zeros(size(A) + [0,4]);
Result(:,1:size(A,2)) = A;
Result(:,3:end-2) = Result(:,3:end-2) + B;
Result(:,5:end) = Result(:, 5:end) + C;
Run Code Online (Sandbox Code Playgroud)

关键是,您可以选择矩阵的子区域,并为其指定另一个矩阵.您只需要确保赋值的两侧都是相同的形状.