Borrar filtros
Borrar filtros

Find a Maximum in a Matrix

1 visualización (últimos 30 días)
Florian
Florian el 16 de Jul. de 2012
Hello all,
I am trying to find a maximum in a 484x1800 matrix. Particularly i´d need the index of the maximum of each row.
The result should be a 484x1 vector or 1x484 with the index of each maximum on each place of the vector.
I tried a few things with find and max and max(abs.... but it seems that the subscription in a matrix does not fit with these functions.
Please help,
Thanks,

Respuesta aceptada

Thomas
Thomas el 16 de Jul. de 2012
There probably is a more elegant solution but this should work
a=rand(40,10); %some random 40x10 data
for i=1:length(a)
[~,c(i),~]=find(a(i,:)==max(a(i,:)));
end
values=max(a,[],2);
% this is the largest value in each row and its position in the row
output=[c' values]

Más respuestas (1)

Sean de Wolski
Sean de Wolski el 16 de Jul. de 2012
X = rand(484,1800);
[maxval,idxmax] = max(X,[],2)
and for more info
doc max
  1 comentario
Thomas
Thomas el 16 de Jul. de 2012
+1 I forgot that max gives the value and index.. :)

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices 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