1

行列があるとしましょうA

 1     2     3     4     5
 1     2     3     4     5
 1     2     3     4     5
 1     2     3     4     5
 1     2     3     4     5

の内側の列を複製しAて新しいマトリックスを取得するにはどうすればよいですかB

 1     2     2     3     3     4     4     5
 1     2     2     3     3     4     4     5
 1     2     2     3     3     4     4     5
 1     2     2     3     3     4     4     5
 1     2     2     3     3     4     4     5

の最初と最後の列Aがそのままになっていることに注意してください。次に、行のペアを合計して別のマトリックスを取得する必要がありますC

 3     5     7     9
 3     5     7     9
 3     5     7     9
 3     5     7     9
 3     5     7     9
  1. 私の行列のサイズは常にそうである5x5とは限らず、要素は必ずしもそれほど良いとは限りませんが、行列は常に正方形になります。

  2. 行列を生成または出力する必要はありませんB。それは、私が最初に最終的なマトリックスを取得することを最初に考えた方法でしたC

  3. 私の目標は適度に効率的であることなので、forループなしでこれを達成したいと思います。

任意の行列サイズでこれを実現するにはどうすればよい nxnですか?

4

1 に答える 1

5

とてもシンプルです。。

C = A(:,2:end) + A(:,1:end-1)
于 2013-03-26T22:44:09.720 に答える