如何获取矩阵中的最大值索引,并将它们映射到另一个相同大小的矩阵的索引?

时间:2014-04-09 11:42:25

标签: matlab sorting matrix indices

我有两个16x12矩阵,在矩阵A中,我应该按降序排序并找到前10个最大值。但是我应该在排序之前知道最大值的指数。

最后,我应该将这些索引赋予第二个矩阵并找到该矩阵中的值。

我尝试使用for-loop,但它没有给我准确的答案。

1 个答案:

答案 0 :(得分:2)

这应该有效:

[~,I] = sort(A(:), 'descend');
vals = B(I(1:10));

例如:

>> A = [ 4 2; 1 5];
>> B = [ 7 8; 0 NaN];
>> [~,I] = sort( A(:), 'descend' );
>> vals = B(I(1:2))

vals =
  NaN
  7