Check for identical maximum values in an array
4 ビュー (過去 30 日間)
古いコメントを表示
Hi guys, I have a matrix, A = [2 4 1;8 3 2;8 8 6;4 5 3] As seen, the above matrix has more than one maximum values. How do i write an if statement testing for multiple maximum values? That is: if (code) % if more than one maximum value exists; ...; % do ... end
0 件のコメント
採用された回答
Walter Roberson
2017 年 9 月 6 日
"if more than one maximum value exists in the array pick the first max value and display it's index"
idx = find( A(:) == max(A(:)) );
if length(idx) > 1
disp(idx(1))
end
0 件のコメント
その他の回答 (3 件)
Star Strider
2017 年 9 月 6 日
Probably the easiest way is to do logical indexing and count the number of non-zero elements to get the number of maximum values:
A = [2 4 1;8 3 2;8 8 6;4 5 3];
nr_maxvals = nnz(A == max(A(:)));
nr_maxvals =
3
3 件のコメント
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!