Find the first position of maximum value in a Matrix

Hello everyone,
Suppose there can be the max value at more than one location, how can I catch the first max value.
A = [6;7;21;4;9;21;5;1];
max(A(:))
[maxValue, linearIndexesOfMaxes] = max(A(:));
[rowsOfMaxes colsOfMaxes] = find(A == maxValue)
ans =
21
rowsOfMaxes =
3
6
colsOfMaxes =
1
1
Then I want it to be:
ans =
21
rowsOfMaxes =
3
colsOfMaxes =
1
Can anyone please help me?

1 commentaire

I'm confused as to why you are referring to rows and columns, when the original input is a vector, not a matrix.

Connectez-vous pour commenter.

 Réponse acceptée

José-Luis
José-Luis le 5 Mai 2014
Modifié(e) : José-Luis le 5 Mai 2014
[maxValue, linearIndexesOfMaxes] = max(A(:));
[rowsOfMaxes colsOfMaxes] = find(A == maxValue,1,'first')
Please accept an answer if it helped you.

2 commentaires

Moe
Moe le 5 Mai 2014
Thanks Jose. It was very helpful.
if i want to find the 3rd max value as '9' and its position...what shall i do?????

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by