|
NAN Not A Number就是代表不是一个数据* k R$ ]' M2 g/ y Y" i P# n. k
经常用在下面两种情况# R! k* V7 x4 ]: I2 S Z9 n
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理# w. u6 C J s! v; e
& s# s; W" g" ?1 d- P( ?/ }比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据" c6 B! z9 _/ U; h, |8 }
. p4 o: t# ~+ \9 L
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了* r1 H. b! w5 x" [3 l
* o* G4 l/ l6 n# p
比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);; `2 j1 {" h- s/ F. [
z=x.^2+y.^2;
8 m' ]8 r& ^/ nsubplot(121)8 [4 }' d* k. H. \9 t: B t
mesh(x,y,z)
+ P1 Q: A- K( t- ~- asel=x<sin(y);( U4 M2 c* F3 [+ W# G! N5 d
z(sel)=nan;7 o5 h! i5 Q; E
subplot(122)
6 l4 y3 j4 S. q2 f) I+ Z0 ]mesh(x,y,z) |
|