找到最大值matlab的所有索引

时间:2013-06-15 19:02:07

标签: matlab max

我只想在matlab中找到矢量中最大值的所有索引。 max函数仅返回最大值的第一个出现的索引。例如:

maxChaqueCell = [4     5     5     4]
[maximum, indicesDesMax] = max(maxChaqueCell)
 maximum =

         5
 indicesDesMax =

         2

我需要indicesDesMax有2个和3个,它们是maxChaqueCell中我们所拥有的两个5的索引,我该怎么做?

感谢。

2 个答案:

答案 0 :(得分:10)

首先找到最大值,然后找到所有与之相等的元素:

m = max(myArray);
maxIndex = find(myArray == m);

或使用您的变量名称:

maxChaqueCell = [4 5 5 4];
maximum = max(maxChaqueCell)
indicesDesMax = find( maxChaqueCell == maximum );

这就是你找到所有这些的方式,而不仅仅是第一个。

答案 1 :(得分:1)

[value,index] = sort(maxChaqueCell,'descend');

sortedmaximums = [value,index];