1

次のマトリックスがあります。

>> MatrixA = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
MatrixA =
     1     2     3     4
     5     6     7     8
     9    10    11    12
    13    14    15    16

私は次のものを見つけたい:

  • 行1の場合、2番目の列が必要です
  • 行 2 の場合、3 列目が必要です
  • 行 3 の場合、4 番目の列が必要です
  • 行 4 の場合、4 番目の列が必要です

現在、次の行でこれを実現しています。

>>diag(MatrixA([1 2 3 4], [2 3 4 4]))
ans =
     2
     7
    12
    16

これを行うより直接的な方法はありますか(を使用せずにdiag)?

4

1 に答える 1

2

を使用するsub2indと、より直感的になる可能性があります。あまりメリットはないと思いますが、読みやすいかもしれません。

ind = sub2ind(size(MatrixA), [1 2 3 4], [2 3 4 4])
MatrixA(ind)
于 2013-08-01T15:34:38.283 に答える