Replacing min and max values

3 visualizaciones (últimos 30 días)
Harel Harel Shattenstein
Harel Harel Shattenstein el 25 de Mzo. de 2018
Respondida: Star Strider el 25 de Mzo. de 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

Respuestas (1)

Star Strider
Star Strider el 25 de Mzo. de 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.

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by