find max value in a Matrix using loops only

hallo,
I can find only two max with this code. can you help me please to find all Max (more than 1 or 2) with the corrent code in this Matrix X=[1,2,3;7,1,9;4,9,6;9,8,7].
X=[1,2,3;7,1,9;4,9,6;9,8,7];
Max = -Inf;
row = 0;
column = 0;
row1 = 0;
column1 = 0;
for i = 1:size(X, 1)
for j = 1:size(X, 2)
if X(i, j) > Max
Max = X(i, j);
row = i;
column = j;
end
if X(i, j) >= Max
Max = X(i, j);
row1 = i;
column1 = j;
end
end
end
X
Max
row
column
row1
column1

1 Commento

Find global maximum first, then find the matching locations. Save the location indices in arrays instead of named variables. Mimic the output of the builtin max function.

Accedi per commentare.

 Risposta accettata

solution:
X=[1,2,3;7,1,9;4,9,6;9,8,7];
Max = -Inf;
row = [];
column = [];
for i=1:size(X,1)
for j=1:size(X,2)
if X(i,j)>=Max
Max=X(i,j);
end
end
end
for i=1:size(X,1)
for j=1:size(X,2)
if X(i,j)==Max
row(end+1)=i;
column(end+1)=j;
end
end
end
X
Max
row
column

1 Commento

Hallo Jesus David,
thank you very much for your help, the code word very well, thats nice :)

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by