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 件のコメント

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

サインインしてコメントする。

 採用された回答

José-Luis
José-Luis 2014 年 5 月 5 日
編集済み: José-Luis 2014 年 5 月 5 日

1 投票

[maxValue, linearIndexesOfMaxes] = max(A(:));
[rowsOfMaxes colsOfMaxes] = find(A == maxValue,1,'first')
Please accept an answer if it helped you.

2 件のコメント

Moe
Moe 2014 年 5 月 5 日
Thanks Jose. It was very helpful.
suchismita
suchismita 2014 年 6 月 18 日
if i want to find the 3rd max value as '9' and its position...what shall i do?????

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

質問済み:

Moe
2014 年 5 月 5 日

コメント済み:

2014 年 6 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by