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 回答