How to handle 'NaN' values
18 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
em try to write code to find 'Interpolation error' but in Error metrix there occuring NaN at many place, even i have converted them in 'double()' now i want NaN value would replace by '0'or by its right value, Instead of NaN. plz help me . em trying to fix it bt it doesn't work.
{double(errors);
for i=1:1:size(errors, 1) for j=1:1:size(errors, 2) if errors(i, j)== 'NaN' errors(i, j)=0; else errors(i, j)=(errors(i, j)); end} end end this code is not working... i want not to occur ant NaN value during code processing. . . how do i write a code to avoide from such unwanted values. . .
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
Jan
am 31 Mär. 2011
This cannot work:
if errors(i, j)== 'NaN'
"error(i, j)" is a scalar DOUBLE, 'NaN' is a [1 x 3] CHAR vector, also known as "string". Even this would fail:
if errors(i, j) == NaN
because IEEE conventions state, that a comparison to NaN replies FALSE ever:
1 < NaN % >> 0
1 == NaN % >> 0
1 > NaN % >> 0
NaN == NaN % >> 0
Therefore isnan() must be used as shown in Paulo's answer.
2 Kommentare
Siehe auch
Kategorien
Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!