How to replace elements different than 0 and different than NaN to 1?

3 visualizaciones (últimos 30 días)
I have this huge matrix with a lot of elements: (i) equal to zero; (ii) number different than zero; (iii) NaN values ...
I need to replace all the the NUMBERS different than 0 to 1.
How do I do it not replacing the NaN values?

Respuesta aceptada

Mohammad Monfared
Mohammad Monfared el 24 de Oct. de 2013
Let the matrix name, A, so this is done by:
A(xor((A~=0),isnan(A))) = 1 ;

Más respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 24 de Oct. de 2013
Editada: Azzi Abdelmalek el 24 de Oct. de 2013
A(A~=0)=1
%or maybe you want
idx=isnan(A) | A==0
A(~idx)=1
  3 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 24 de Oct. de 2013
Editada: Azzi Abdelmalek el 24 de Oct. de 2013
Ok, then just run the second code
idx=isnan(A) | A==0
A(~idx)=1

Iniciar sesión para comentar.

Categorías

Más información sobre NaNs en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by