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

时间:2012-07-27 18:03:13

标签: matlab matrix sum

我有一些矩阵:

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]

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

Result = [1 2 9 9 10 11 5 5 5 6;
          1 2 9 9 10 11 5 5 5 6]

注意:实际上上面的矩阵是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

和。我按第一行排第一行,第二排第二排。

1 个答案:

答案 0 :(得分: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;

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