|
|
NAN Not A Number就是代表不是一个数据( X8 f; D$ e. w: U4 o- Z+ ~
经常用在下面两种情况4 p) A& q! {6 c
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理% k( v9 |7 ?8 {
: l9 W. K/ h* N! O比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据9 X. h9 G& X1 u3 d0 F
; z `5 F7 e+ E) R) n
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了& r/ p6 o0 N2 w, e& W
7 E- F5 j6 Q* X Y+ L2 j4 @比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
7 R( P$ d1 Z \; Y. iz=x.^2+y.^2;, }. L% l: I8 y% C* H* u. n5 s) \) |
subplot(121)
! B. j; M5 _/ N! D% x3 y* e$ j6 F2 h0 L4 Tmesh(x,y,z)
# E! O( ]4 f+ K6 A+ U' y& _sel=x<sin(y);, m& P0 {* F. b' E! e
z(sel)=nan;
$ D/ T u4 x$ U, J Fsubplot(122). M9 @% S9 c2 Y% D2 A5 {+ m# L
mesh(x,y,z) |
|