finding the position of the minimum element in the matrix

31 vues (au cours des 30 derniers jours)
Umut Oskay
Umut Oskay le 12 Avr 2020
Commenté : madhan ravi le 12 Avr 2020
hello. i need to know the position of the minimum element of the matrix. For example
M= [1 5 7; 2 4 5 ]
M=
1 5 7
2 4 5
the min is 1 and it's position is (1,1).
How can i find this?
Thanks

Réponse acceptée

Image Analyst
Image Analyst le 12 Avr 2020
You really should use find() rather than min() since find() will find them all and min() only finds the first occurrence, which is important since the min could occur at multiple locations:
M = [1 5 7; 2 4 5; 4, 1, 5]
minValue = min(M(:));
% Find all (row, column) pairs where M = the min value.
[rows, columns] = find(M == minValue)
% Print them out:
for k = 1 : length(rows)
fprintf('M equals the min value of %f at row = %d, column = %d.\n', ...
minValue, rows(k), columns(k));
end
You'll see
M =
1 5 7
2 4 5
4 1 5
rows =
1
3
columns =
1
2
M equals the min value of 1.000000 at row = 1, column = 1.
M equals the min value of 1.000000 at row = 3, column = 2.

Plus de réponses (1)

madhan ravi
madhan ravi le 12 Avr 2020
Modifié(e) : madhan ravi le 12 Avr 2020
MIN = min( M(:) );
[ Row, Column ] = ind2sub( size(M), find(MIN == M, 1 ) )
  2 commentaires
Umut Oskay
Umut Oskay le 12 Avr 2020
Can you explain your answer a bit ?
madhan ravi
madhan ravi le 12 Avr 2020
doc find
doc min
doc ind2sub

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by