CALCULATION OF MAXIMUM VALUE IN EVERY ROW
古いコメントを表示
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 件のコメント
Brahima DRABO
2016 年 1 月 16 日
suppose your matrix is A: result = A==max(A,[],2)
Stephen23
2016 年 1 月 16 日
@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.
採用された回答
その他の回答 (3 件)
Jonathan Sullivan
2012 年 3 月 7 日
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);
Jan
2012 年 3 月 6 日
[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)).
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!