|
NAN Not A Number就是代表不是一个数据
; L6 n& ^5 v1 ^% A2 l1 S经常用在下面两种情况5 Q [5 ~# m; B1 c4 k) J7 r7 N
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
& G1 o |& h2 x
6 t: W" g% n) U! F4 F比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据
+ C5 b& @% v" S+ t$ o% s. {; F
- {# Z) Y# P7 p2 D$ D2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了+ G: t' t+ M/ W8 `- g
# e. N2 g$ A6 i R) S& @* E比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);! `& a* [5 E! w
z=x.^2+y.^2;* z9 c! Z2 l0 `8 f) d9 l
subplot(121)
; f' z1 e" p2 G( ?; Q* g: Q4 N$ Umesh(x,y,z); o! A" F( T) M& X
sel=x<sin(y);
' C3 i5 j! g5 Pz(sel)=nan;
3 `2 x; U; I$ U7 r8 rsubplot(122)* m$ ?: Y- q1 Q! Y. v
mesh(x,y,z) |
|