a(a==NaN) does not find NaN's in matrix. What to do?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have
a=1 NaN 2 6
I want to change the NaN to 0 but
a(a==NaN)=0
does not work and gives me
a =
1.00 NaN 2.00 6.00
What did i do wrong?
0 Kommentare
Akzeptierte Antwort
Sean de Wolski
am 29 Mai 2012
NaNs are not equal to themselves!
You could thus do either of these:
* a(isnan(a))=0; %isnan
* a(a~=a) = 0; %nans aren't equal to themselves
Weitere Antworten (1)
Thomas
am 29 Mai 2012
Sharon, you are unable to replace the NaN because
NaN ~= NaN (in matlab NaN's are unequal) you can check this by
isequal(NaN,NaN)
ans =
0
to replace NaN's use the isnan function
doc isnan
For your example you need
a(isnan(a))=0
a =
1.00 0 2.00 6.00
Siehe auch
Kategorien
Mehr zu NaNs finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!