|
|
NAN Not A Number就是代表不是一个数据8 f! R/ T4 Y8 A
经常用在下面两种情况: ?1 N, B: _. w& Z
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
4 {9 {3 a2 I( u9 r* O; v# w$ Q( V& ]
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据7 B' s' j6 s: v8 [# u! }
( E1 f4 g% Q& w+ s6 J) r3 T; J
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了
& j" {7 y, h* h
4 `& X' J% I3 J8 b' g2 [0 B1 |' _比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);, z6 q. f% [0 X& Z2 ]9 N. p7 w
z=x.^2+y.^2;
* q* Z9 L* i+ I! Q# ^subplot(121)
+ a7 m# V8 T% B3 L) Jmesh(x,y,z)
" |/ { H: d) u U8 k3 G7 @0 jsel=x<sin(y);
1 [) y$ } l9 R+ j0 x6 I+ Kz(sel)=nan;
3 |! s L5 I. G4 p+ ^4 H1 dsubplot(122)
/ b8 Y+ `& D; d1 E) V6 k4 Amesh(x,y,z) |
|