Réponse acceptée

Walter Roberson
Walter Roberson le 22 Août 2015

0 votes

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

4 commentaires

abduall hassn
abduall hassn le 22 Août 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 le 23 Août 2015
Modifié(e) : Walter Roberson le 23 Août 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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Error Handling dans Centre d'aide et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by