在Matlab中找到最小值的最大索引



我有一个正数数组,并且有一些重复。我想找到最小值的最大索引。

例如,如果a=[2, 3, 1, 1, 4, 1, 3, 2, 1, 5, 5],则[i, v] = min(a)返回i=3,但是我想要i=9

使用findmin

A = [2, 3, 1, 1, 4, 1, 3, 2, 1, 5, 5];
minA = min(A);
maxIndex = max(find(A==minA));

min获取最小值,查找返回满足条件A==minA的值的索引max返回最大值索引。

这里有一个不同的想法,它只需要一个函数,排序:

[~,y] =  sort(a,'descend');
i = y(end)
ans =
9

您也可以将imreginalmin与时间复杂性O(n):一起使用

largestMinIndex = find(imregionalmin(A),1,'last');

相关内容

  • 没有找到相关文章