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

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?

 채택된 답변

Let the matrix name, A, so this is done by:
A(xor((A~=0),isnan(A))) = 1 ;

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 10월 24일
편집: Azzi Abdelmalek 2013년 10월 24일
A(A~=0)=1
%or maybe you want
idx=isnan(A) | A==0
A(~idx)=1

댓글 수: 3

I tried this ... but it replaces NaN values too, and I don't wan't it...
I just want to replace the numbers different than zero...
Ok, then just run the second code
idx=isnan(A) | A==0
A(~idx)=1

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 NaNs에 대해 자세히 알아보기

질문:

2013년 10월 24일

댓글:

2013년 10월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by