find max value in a Matrix using loops only

8 views (last 30 days)
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 Comment
dpb
dpb on 10 Nov 2019
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.

Sign in to comment.

Accepted Answer

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH on 10 Nov 2019
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 Comment
Zed Ferch
Zed Ferch on 10 Nov 2019
Hallo Jesus David,
thank you very much for your help, the code word very well, thats nice :)

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!