How to find the maximum value from a matrix without using max syntax?
8 次查看(过去 30 天)
显示 更早的评论
I have to find a max value without using matlab built in max syntax.
The code I have that I want to change the max syntax to for loop is
[i j] = max(abs(A(y:n, y)));
I tried following this code I found from another question:
MaxValue = -Inf;
row = 0;
column = 0;
for y = 1:size(A, 1)
for y = 1:size(A, 2)
if A(y, y) > MaxValue
MaxValue = A(y:n, y);
row = y:n;
column = y;
end
end
end
but my code is not running. I don't know where I am going wrong.
0 个评论
回答(3 个)
Cris LaPierre
2022-3-1
I suspect one issue to fix is that you use the same variable name for both loops. The variable can only hold one value at a time, so the loops are definitely not behaving as you intended.
for y = 1:size(A, 1)
for y = 1:size(A, 2)
Use a different variable for each loop.
for y1 = 1:size(A, 1)
for y2 = 1:size(A, 2)
0 个评论
Davide Masiello
2022-3-1
编辑:Davide Masiello
2022-3-1
I guess you could try something like this
A = randi(100,4,8);
for i = 1:size(A,1)
for j = 1:size(A,2)
if any(A(i,j)< A(:))
else
maxA = A(i,j);
row = i;
col = j;
end
end
end
disp(A)
disp(maxA)
disp([row col])
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!