Finding the last maximum value in a vector

Hi,
"max" gives the maximum value of a matrix in a row vector.
This vector contains all the maximum values in the respective column.
if i use [V,X]= max(max(A)) this will give me the largest value of the vector in the corresponding X.
Definitely in the vector there are many values which are equal to max(max(A))
I want to know that how can i know the last index that has this value in the vector.
Pls guide me.
Thanks

 Risposta accettata

I think this should do it for you:
idx = max(find(A==max(max(A))))

8 Commenti

max(max(A)), assuming a 2D matrix, is probably faster as:
max(A(:))
or since R2018b, even faster as
max(A, [], 'all')
Fair enough! These are good suggestions!
Really thankful to you ME.
It worked
Can you please also answer my This Question and This one.
Is there any other method too for finding it.
The suggestion tells.
find.png
Follow its suggestion then:
X = find(A == max(A(:)), 1, 'last');
I recommend you don't use Max as a variable name. Differentiating variables and function name just by a difference in case is asking for trouble. You can be sure that one time you'll mistype max instead of Max and waste time hunting the bug.
As in the suggestion, you could use:
idx = find(A==max(max(A)),1,'last')
instead. You'd also be ale to use the suggestions of Guillaume to speed this up a bit further.
Regarding the same question of finding the index of max value.
If i say that i want to find out at which index after this index (i mean the above we calculated) the value become x
I found it.
max(find(Max>round(mean(Max))))

Accedi per commentare.

Più risposte (0)

Richiesto:

il 4 Nov 2019

Commentato:

il 4 Nov 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by