|
|
NAN Not A Number就是代表不是一个数据$ e& F2 c( N1 w
经常用在下面两种情况- g8 I+ a( I7 K! I$ E
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理' J, K- Q5 b) P
! k* G( T2 t0 \0 o+ {+ E1 c
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据7 B- K9 W! y1 d6 j/ L W2 M4 O
$ @' @; g+ `) G. V9 s2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了+ R4 E Z* |" `8 y
2 c6 `) l; n0 f9 E& F2 r" o2 m V比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);5 `1 T+ s1 u' W
z=x.^2+y.^2;
K; p) Z4 I! t3 w" @; @* p/ w; Jsubplot(121)
* @% @& X/ u. x( G& o7 N2 qmesh(x,y,z)
6 Z6 ^2 `/ x9 t% {/ Usel=x<sin(y);1 @' p. X4 W G Z4 h5 Q O
z(sel)=nan;6 R; Z2 U/ ?' C5 W R" n
subplot(122)! |) J3 y$ y& l. x% \9 X
mesh(x,y,z) |
|