How to iterate through matrix with rows and columns changing by the same value?
18 次查看(过去 30 天)
显示 更早的评论
Hello, All! I have 3x3 matrix A:
A=[2 3 7;5 6 8;1 9 3]
I want to make a 3x1 matrix B, which will consist of the maximum value of each column of matrix A. Here is my loop:
for row=1:size(A,1)
for col=1:size(A,2)
B(row,1)=max(A(:,col))
end
end
The code does not work and if I debug, I see that when I am iterating through loops:
The first iteration:
B(1,1)=max(A(:,1)), which is fine
The second iteration:
B(1,1)=max(A(:,2)), which is not fine, as the row for B did not change from 1 to 2.
Question:
How to change my code? Is there a way to iterate through two for loops by changing rows and columns by the same value?
0 个评论
采纳的回答
Andrei Bobrov
2017-8-4
编辑:Andrei Bobrov
2017-8-4
B = max(A)';
or
B = zeros(size(A,2),1);
for col=1:size(A,2)
B(col,1)=max(A(:,col));
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!