Check for identical maximum values in an array
18 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jane Ak
am 6 Sep. 2017
Beantwortet: Jane Ak
am 6 Sep. 2017
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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 6 Sep. 2017
"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 Kommentare
Weitere Antworten (3)
Star Strider
am 6 Sep. 2017
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 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!