Find the maximum value and its location from a matrix using two nested loops

13 vues (au cours des 30 derniers jours)
Hi,
Right now I have this matrix K
K =
-3 -8 6 -3 -8 6 9 24 -18
-5 10 -9 -5 10 -9 15 -30 27
8 4 9 8 4 9 -24 -12 -27
-9 -24 18 12 32 -24 3 8 -6
-15 30 -27 20 -40 36 5 -10 9
24 12 27 -32 -16 -36 -8 -4 -9
9 24 -18 -15 -40 30 0 0 0
15 -30 27 -25 50 -45 0 0 0
-24 -12 -27 40 20 45 0 0 0
I wonder how I can use two nested loops to find the maximum number and its location from this matrix.
It would be great if anyone can help me with this
Thank you very much :)

Réponse acceptée

sixwwwwww
sixwwwwww le 8 Déc 2013
Modifié(e) : sixwwwwww le 8 Déc 2013
you can do it as follow:
MaxValue = -Inf;
row = 0;
column = 0;
for i = 1:size(K, 1)
for j = 1:size(K, 2)
if K(i, j) > MaxValue
MaxValue = K(i, j);
row = i;
column = j;
end
end
end
  6 commentaires
Image Analyst
Image Analyst le 8 Déc 2013
But you didn't ask for other ways - you rigidly specified the way. The other, more MATLAB-ish way would be to use the max() function. Look at the two arguments it returns. You might also find ind2sub() helpful,
Alexandra Vaupotic
Alexandra Vaupotic le 8 Fév 2021
Modifié(e) : Alexandra Vaupotic le 8 Fév 2021
How could you make this a function with an output of the Max value?

Connectez-vous pour commenter.

Plus de réponses (1)

Khalid Mojallid
Khalid Mojallid le 26 Mar 2019
MaxValue = -Inf;
row = 0;
column = 0;
for i = 1:size(K, 1)
for j = 1:size(K, 2)
if K(i, j) > MaxValue
MaxValue = K(i, j);
row = i;
column = j;
end
end
end
  1 commentaire
Nathan Blais
Nathan Blais le 3 Oct 2019
I'm guessing K would be the vector we are trying to find the max value for?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by