|
|
NAN Not A Number就是代表不是一个数据
- E5 u7 J$ O6 E7 X+ U9 R& V经常用在下面两种情况
+ `2 V9 ?* @& t! s: T# Q# L' e1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
[% F+ b/ H# F) N7 H' O O" U% H9 n& |9 p( E
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据
2 d) d7 {! B a+ _* Y
2 Y t& `8 k; Y% O2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了; v5 x: P5 B! R" u
* P+ \8 w0 G' @0 k" u比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);5 g$ n8 R( h6 j" b" Z
z=x.^2+y.^2;
2 R0 ~2 d* l& p9 Usubplot(121)3 v) Z* j3 H' W+ z
mesh(x,y,z)( Y# k" l) \# I6 u) u% _' ?. p4 g
sel=x<sin(y);" G4 `5 j7 {# ^* j5 C. K; |" d5 k
z(sel)=nan;0 C6 N/ _2 ]) X: A& z+ {1 v
subplot(122)$ s" B& k) i% ]3 Y) a$ _
mesh(x,y,z) |
|