0

私はいくつかのマトリックスを持っています:

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

と。最初の行を最初の行で合計し、2番目の行を2番目の行で合計します。

4

1 に答える 1

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;

ポイントは、マトリックスのサブ領域を選択し、それに別のマトリックスを割り当てることができるということです。割り当ての両側が同じ形状であることを確認するだけです。

于 2012-07-27T18:09:31.827 に答える