Find the first position of maximum value in a Matrix

122 views (last 30 days)
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 Comment
the cyclist
the cyclist on 5 May 2014
I'm confused as to why you are referring to rows and columns, when the original input is a vector, not a matrix.

Sign in to comment.

Accepted Answer

José-Luis
José-Luis on 5 May 2014
Edited: José-Luis on 5 May 2014
[maxValue, linearIndexesOfMaxes] = max(A(:));
[rowsOfMaxes colsOfMaxes] = find(A == maxValue,1,'first')
Please accept an answer if it helped you.
  2 Comments
suchismita
suchismita on 18 Jun 2014
if i want to find the 3rd max value as '9' and its position...what shall i do?????

Sign in to comment.

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by