|
|
* p7 D( i J- x" p A- o, ENAN Not A Number就是代表不是一个数据: N4 |' z& O" [
经常用在下面两种情况& o4 _- }# `3 _
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理: H3 y: y5 n7 B+ N, Y6 n r
+ A& E- A0 d% G# r# q
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据
0 C5 @0 X X. j( f2 ~; T9 M" N1 D! ?2 W1 }' x6 u* ~
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了
. n/ q9 `! b- g$ g/ L( k5 S" s4 ^$ Y0 I$ p" x$ d5 Y' k+ j+ H: h
比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
! x; t+ e& S5 Sz=x.^2+y.^2;
7 { u+ z& P$ B: r: X: w) b6 Psubplot(121)
! Y ~6 a5 J5 a' l4 k' O4 Gmesh(x,y,z)
1 v+ ]" k* N) r3 L5 n6 Q' l/ bsel=x<sin(y);6 }$ D( b' w, r* x# H$ F2 j8 a+ Z
z(sel)=nan;
" ^9 P" E; B' d" b5 {2 L; [) Msubplot(122), p: H- b: X& Y4 X- ]/ Y
mesh(x,y,z) |
|