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

11 visualizaciones (últimos 30 días)
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?

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 4 de Ag. de 2017
Editada: Andrei Bobrov el 4 de Ag. de 2017
B = max(A)';
or
B = zeros(size(A,2),1);
for col=1:size(A,2)
B(col,1)=max(A(:,col));
end

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by