How to iterate through matrix with rows and columns changing by the same value?
조회 수: 11 (최근 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!