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 Comment

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

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

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!