|
|
NAN Not A Number就是代表不是一个数据
' J, w( w8 A# o5 C经常用在下面两种情况
, A( d) P# j K- V! I7 D! K1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
- Q( R" A& M' t# t2 q
6 f3 H/ f+ ^' x9 O+ W9 C比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据4 ~" h2 ? x" a* P/ ]% i& U! a
. m, E2 Q v( Q0 ?* w2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了
7 k. N8 W/ ]/ U( U1 e' Z- M6 M
- f) G" C7 ^+ n* z% @/ H3 z0 X比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10); U z0 q4 L; t: E
z=x.^2+y.^2;* s$ A, D0 }% ^' e0 W
subplot(121); c) K5 G: _- o' p" B$ y
mesh(x,y,z)6 w. X6 V2 e, N. s6 Y4 v1 ~
sel=x<sin(y);% Z% ]( z+ ? ?7 b4 b; [2 R P
z(sel)=nan;
5 @. Y/ R; N% u# l: j( Qsubplot(122)6 M: T$ ]! L1 U: `+ \( K
mesh(x,y,z) |
|