|
|
NAN Not A Number就是代表不是一个数据
* w& Q5 d4 }7 F$ ?" A9 ~& U+ F经常用在下面两种情况) e9 i" h: n0 X1 O4 z- Q& ^* ]
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
, Q( F# z( l) d! B* U! ~0 w: L/ r X+ `
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据5 h- v. C& f/ R3 O0 y
+ s( Y- g' ~( H% _; f# ]
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了* C# \8 p& K9 c( L" t
8 J& H# M4 _2 ]* w! M$ Y, X+ h. z比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
: e5 c& s9 X5 L+ }: oz=x.^2+y.^2;
" I0 E4 X$ w7 [2 E1 M8 v- Tsubplot(121)8 L6 B$ B) B- t, P0 O0 P2 t' q
mesh(x,y,z)
) r1 a( @' _2 q6 xsel=x<sin(y); g2 P" E* l9 C5 e* S7 {
z(sel)=nan;
, ]! g2 M: Z* F) C& psubplot(122)$ i2 J: _5 U" W3 Q/ ~$ c
mesh(x,y,z) |
|