我只想在matlab中找到矢量中最大值的所有索引。 max函数仅返回最大值的第一个出现的索引。例如:
maxChaqueCell = [4 5 5 4]
[maximum, indicesDesMax] = max(maxChaqueCell)
maximum =
5
indicesDesMax =
2
我需要indicesDesMax
有2个和3个,它们是maxChaqueCell
中我们所拥有的两个5的索引,我该怎么做?
感谢。
答案 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];