Replacing min and max values

4 vues (au cours des 30 derniers jours)
Harel Harel Shattenstein
Harel Harel Shattenstein le 25 Mar 2018
For a given matrix I need to replace each element which is not min or max with the value 99
For example let
M=[5 0 2;8 3 1;1 8 0]
I tried the following code
M(M~=min(M(:))|M~=max(M(:)))=99;
but it replace all the matrix elements include 8 and 0 which are the max/min elements

Réponses (1)

Star Strider
Star Strider le 25 Mar 2018
Use ‘logical indexing’:
M=[5 0 2;8 3 1;1 8 0];
Mn = M == min(M)
Mx = M == max(M)
See the documentation on Using Logicals in Array Indexing (link).
I leave the rest to you.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by