7

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

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

         5
 indicesDesMax =

         2

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

谢谢。

4

2 回答 2

10

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

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

或使用您的变量名:

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

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

于 2013-06-15T19:03:54.047 回答
1
[value,index] = sort(maxChaqueCell,'descend');

sortedmaximums = [value,index];
于 2013-12-06T09:38:54.057 回答