MAXIMUM MATRIKS IN MATLAB
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
i have a matrix A
A = [[ 0, 0, 0, 99, 61, 0,0 ],
[ 2, 0, 0, 89, 61, 0,0 ]
[0, 0, 0, 0, 0, 89, 0 ],
[12, 0, 0, 0, 0, 0, 0 ]
[0, 0, 0, 0, 0, 0, 0 ]].
how to determine the maximum value of each row in the matrix and make other values that are not maximum to 0. for example:
A = [[ 0, 0, 0, 99, 0, 0 ,0 ],
[ 0, 0, 0, 89, 0, 0, 0 ]
[0, 0, 0, 0, 0, 89, 0 ],
[12, 0, 0, 0, 0, 0, 0 ]
[0, 0, 0, 0, 0, 0, 0 ]].
Thank you
4 Commenti
John D'Errico
il 6 Ago 2022
NO. You do not understand my question. Suppose one row happens to have the elements: [0 0 0 0 100 98 100 3 0 0].
TWO of those elements are 100, the maximum. What would be the desired behavior?
Risposta accettata
John D'Errico
il 6 Ago 2022
Since you did not say which one to leave non-zero, I'll asssume that all values equal to the maximum are retained.
A = randi(20,[10,5])
A(A < max(A,[],2)) = 0
The above code will run on R2016b or later. If two elements in a row are the same and the max in that row, it will retain them all.
If the maximum element in a row was zero, then the entire row will be zero.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Multidimensional Arrays in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!