|
|
NAN Not A Number就是代表不是一个数据- @. s2 B- _& W# n; {1 s8 S9 K# P- J
经常用在下面两种情况
* b/ E- T; D7 W% h4 ?9 s1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理" ?/ V) f1 {6 `& a/ k7 i
% i8 w I6 D, S* S% z P比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据
) Q+ _+ Z) q# w1 A0 A- a* a$ Q' i- m, K
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了/ `3 j D G' i# A. A! `) L2 t$ N
N& }! ]6 B* R+ j- r/ L
比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
* n4 {0 s' g* I/ U" y C8 X% Wz=x.^2+y.^2;+ M6 F4 U7 u$ F% T. U, N6 D
subplot(121)
- p/ [/ n" f4 U/ \mesh(x,y,z)( {: |; _+ D {
sel=x<sin(y);/ n- q( t, r+ T" d- m8 T- f8 M
z(sel)=nan;
$ L e4 A3 M) ?6 Dsubplot(122)( s ~" O% I3 V q; t* U2 b( B* s
mesh(x,y,z) |
|