在Matlab中查找矩阵中的多个行和列组合

时间:2013-08-01 15:31:06

标签: matlab

我有以下矩阵:

>> 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)?

1 个答案:

答案 0 :(得分:2)

你可以使用sub2ind,它可能更直观。我不认为有什么好处,也许它更具可读性:

ind = sub2ind(size(MatrixA), [1 2 3 4], [2 3 4 4])
MatrixA(ind)
相关问题