寻找MATLAB中最大值的所有索引

8
我想在matlab中找到向量中最大值的所有索引。max函数仅返回最大值的第一次出现的索引。例如:
maxChaqueCell = [4     5     5     4]
[maximum, indicesDesMax] = max(maxChaqueCell)
 maximum =

         5
 indicesDesMax =

         2

我需要indicesDesMax中有2和3这两个索引,它们是maxChaqueCell中两个5的索引,如何实现?

谢谢。

2个回答

11

首先找到最大值,然后找到所有等于该最大值的元素:

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

或者使用您的变量名称:

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

这是如何找到它们所有,而不仅仅是第一个。


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

sortedmaximums = [value,index];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接