MATLAB: How to iterate through matrix with rows and columns changing by the same value

for loopmatrix arraymatrix manipulation

Hello, All! I have 3×3 matrix A:
A=[2 3 7;5 6 8;1 9 3]
I want to make a 3×1 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?

Best Answer

B = max(A)';
or
B = zeros(size(A,2),1);
for col=1:size(A,2)
B(col,1)=max(A(:,col));
end