Find the first position of maximum value in a Matrix

18 Ansichten (letzte 30 Tage)
Moe
Moe am 5 Mai 2014
Kommentiert: suchismita am 18 Jun. 2014
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 Kommentar
the cyclist
the cyclist am 5 Mai 2014
I'm confused as to why you are referring to rows and columns, when the original input is a vector, not a matrix.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

José-Luis
José-Luis am 5 Mai 2014
Bearbeitet: José-Luis am 5 Mai 2014
[maxValue, linearIndexesOfMaxes] = max(A(:));
[rowsOfMaxes colsOfMaxes] = find(A == maxValue,1,'first')
Please accept an answer if it helped you.
  2 Kommentare
Moe
Moe am 5 Mai 2014
Thanks Jose. It was very helpful.
suchismita
suchismita am 18 Jun. 2014
if i want to find the 3rd max value as '9' and its position...what shall i do?????

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by