|
NAN Not A Number就是代表不是一个数据
7 B: w/ y9 G: q+ ^# w' v/ {经常用在下面两种情况' E. M: N* E; f: H
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
) U$ s1 @0 v4 @" h( j- S' u& t: \5 E" G
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据' ?6 P% Q' q ~. U1 h% |4 n$ W6 P
7 X J. h! {1 w* u3 z! `8 k: ^2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了8 ?, ]9 I8 `4 ^* i3 d
- [4 k5 O# C$ m比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
6 j! l6 y# g j+ d7 t' d) ?& E/ D+ fz=x.^2+y.^2;. E/ C7 m- l, o) p- _2 @2 i
subplot(121)8 z( A+ r; {5 h5 C8 J) Y" |: M
mesh(x,y,z)) |1 |9 u' f% k* ~+ O9 J
sel=x<sin(y);$ U- C0 @: _: W# ^. J
z(sel)=nan;5 ?8 L6 n( H6 `. k" ]* S
subplot(122)
* N0 d- j2 e2 Y' t! C# _5 Gmesh(x,y,z) |
|