Respuesta aceptada

Walter Roberson
Walter Roberson el 22 de Ag. de 2015

0 votos

[maxvals, maxidx] = max(YourMatrix, [], 2);
Now maxidx will be a vector of column numbers, one per row.

4 comentarios

abduall hassn
abduall hassn el 22 de Ag. de 2015
Thanx brother but my problem i have index 364 from very index i want to select max value between five rows
Example
Index 1 the max value in colum 4
Index 2 the max value in colum 4
Index 3 the max value in colum 4
Index 4 the max value in colum 4
Index 5 the max value in colum 5
Index 6 the max value in colum 5
like this
You have 364 values. You cannot break that up into groups of 5 without having a group of 4 left over.
If you had 365 values or some other multiple of 5, then
max( reshape(maxidx, 5, []) )
abduall hassn
abduall hassn el 23 de Ag. de 2015
Editada: Walter Roberson el 23 de Ag. de 2015
Thanx alot brother
But i want to ask. Why u give 2?
And think u again
[maxvals, maxidx] = max(YourMatrix, [], 2);
The 2 refers to dimension #2, the columns . The above functions equivalently to
for K = 1 : size(YourMatrix,1)
[maxvals(K,1), maxidx(K,1)] = max(YourMatrix(K,:),[]);
end
If you left out the 2, then the default would be to work along the first non-singular dimension, like
for K = 1 : size(YourMatrix,2)
[maxvals(1,K), maxidx(1,K)] = max(YourMatrix(:,K),[]);
end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Error Handling en Centro de ayuda y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Preguntada:

el 22 de Ag. de 2015

Editada:

el 3 de Nov. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by