Find maximum of all rows without a for-loop?

1 visualización (últimos 30 días)
buhmatlab
buhmatlab el 15 de Abr. de 2020
Comentada: buhmatlab el 15 de Abr. de 2020
Hi,
I am relatively new to Matlab and only used to work with for-loops which I've already used succesfully to find the maximum in each row of my three column vectors (300X1):
for i=1:length(value_A)
test(i) = max([value_A(i),value_B(i),value_C(i)]);
end
Since this is not a very elegant and efficient way (for loop) I'm wondering how I can achieve the same result without a for loop.
Many thank in advance!
  2 comentarios
Stephen23
Stephen23 el 15 de Abr. de 2020
Editada: Stephen23 el 15 de Abr. de 2020
" ...three row vectors (300X1)"
A row vector has size 1xN
A column vector has size Nx1
buhmatlab
buhmatlab el 15 de Abr. de 2020
Sorry, my bad: column vector is correct

Iniciar sesión para comentar.

Respuesta aceptada

Stephen23
Stephen23 el 15 de Abr. de 2020
Editada: Stephen23 el 15 de Abr. de 2020
Assuming that your three vectors have size 1xN (i.e. row vectors):
M = [value_A;value_B;value_C];
T = max(M,[],1)
Assuming that your three vectors have size Nx1 (i.e. column vectors):
M = [value_A,value_B,value_C];
T = max(M,[],2)
For vectors of any orientation:
M = [value_A(:),value_B(:),value_C(:)];
T = max(M,[],2)
  1 comentario
buhmatlab
buhmatlab el 15 de Abr. de 2020
Thank you! Sorry I meant column vector, edited the original question.

Iniciar sesión para comentar.

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