Location of maximum number in matrix??

31 vues (au cours des 30 derniers jours)
Maruti Patil
Maruti Patil le 20 Avr 2015
Modifié(e) : Stephen23 le 20 Avr 2015
%Suppose I have a matrix
A=[2 3 4;
5 6 7;
8 9 0];
%I want to Find the location of maximum number in the matrix ie of 9.
%How to find it??
c=max(A); % what to do next ?

Réponse acceptée

Stephen23
Stephen23 le 20 Avr 2015
Modifié(e) : Stephen23 le 20 Avr 2015
Simply use the output indices returned by max function:
>> A = [2 3 4; 5 6 7; 8 9 0];
>> [B,I] = max(A(:))
B =
9
I =
6
where I is a linear index into A:
>> A(I)
ans =
9
Note you can convert linear indices to subscript indices using the function ind2sub:
>> [R,C] = ind2sub(size(A),I)
R =
3
C =
2

Plus de réponses (1)

Julia
Julia le 20 Avr 2015
Hi,
you have to take the "double maximum", since your c gives a vector. Then you can use the find() function.
>> c=max(max(A))
>> B=find(A==c)
B is just a number. To see how Matlab uses linear indexing click the following link:

Catégories

En savoir plus sur Operators and Elementary Operations dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by