|
: u$ c# \: c& I3 e& q" VNAN Not A Number就是代表不是一个数据& s! O i2 n( a
经常用在下面两种情况
% m. B2 v; U+ S7 N4 ~1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理+ [7 N T" H2 W% ]
2 ^, Z9 V" J n. j比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据
$ h) M! p$ d; A9 T3 I1 Y8 k8 E
, Z' B2 I$ p3 k2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了
$ x. D2 H$ v4 E% U
0 D# f2 C9 z2 E6 W% E/ N$ J比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);. v- a1 o. \* T: G" V0 |; P
z=x.^2+y.^2;0 F$ M& N& K/ i4 o: D
subplot(121)
% D& V: A7 Z) v: n! f$ R8 a/ [( U- e$ t- Zmesh(x,y,z): t/ B. l2 A F! _
sel=x<sin(y);9 h! N5 a4 y4 Q
z(sel)=nan;+ z8 B9 C( g3 h# A
subplot(122)2 Q7 `2 u4 q0 e9 P5 _
mesh(x,y,z) |
|