|
|
NAN Not A Number就是代表不是一个数据
0 ?# e; E! j S( g4 X经常用在下面两种情况) t, L; Q3 c' R8 P
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理5 a1 j, r4 b3 ^6 p+ `
7 A$ v2 k1 i' J/ P+ ?) }比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据3 R* a& j# j0 F: [+ s: P
' A6 Q& r- ?/ I
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了+ M! g+ p6 J' i
. o- ]" [$ ^4 m7 r1 |4 ]5 R
比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);6 A- U0 ~6 x) W& D& V& ?6 s% V
z=x.^2+y.^2;
1 K: B, c* r0 b5 Y7 f5 m' e. gsubplot(121)
# |/ w) _$ V; [# p% K) n' Vmesh(x,y,z)
. }2 Y/ T$ n! ?. V4 W3 \sel=x<sin(y);9 M0 y) ?$ E/ ~0 N% r7 Y- d+ L
z(sel)=nan;: ]; W3 N1 A7 @ D3 a: p$ H
subplot(122)
: z3 S1 P; W6 S, V, q7 m2 cmesh(x,y,z) |
|