CALCULATION OF MAXIMUM VALUE IN EVERY ROW
Afficher commentaires plus anciens
suppose there is a matrix of 3x3 size i want to calculate the maximum value in every row.
ex: 3 4 5
6 9 0
1 2 3
the result i should get at the end should be like this
0 0 1
0 1 0
0 0 1
[EDITED, code formatted, Jan]
2 commentaires
Brahima DRABO
le 16 Jan 2016
suppose your matrix is A: result = A==max(A,[],2)
Stephen23
le 16 Jan 2016
@Brahima DRABO: you should put this as an answer too: you would get votes.
Note to others: ignore the accepted answer, it is very poor code.
Réponse acceptée
Plus de réponses (3)
Jonathan Sullivan
le 7 Mar 2012
m = [ 3 4 5
6 9 0
1 2 3];
mx = max(m,[],2); % EDIT: was max(m,2); Oops
out = bsxfun(@eq,m,mx);
1 commentaire
raj
le 7 Mar 2012
Jan
le 6 Mar 2012
[v, sub] = max(a, [], 2); % [EDITED], was "max(a, 2)"
sa = size(a);
b = zeros(sa);
index = sub2ind(sa, 1:sa(1), sub);
b(index) = 1;
I cannot try it currently and I find the documentation of sub2ind confusing in this point: Perhaps the 2nd and 3rd argument must be swapped: sub2ind(sa, sub, 1:sa(1)).
raj
le 7 Mar 2012
0 votes
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!