|
" {% Z/ b' P0 G3 c3 z! p
NAN Not A Number就是代表不是一个数据
% I/ H$ k5 }0 u, {7 r/ T经常用在下面两种情况
, V" q8 H3 n; e8 Z6 D1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理# c5 U) `# H5 @
( h Z2 X+ Q. B4 T$ k4 _比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据
& E H; c* f% I: b/ C! e
) {1 k$ N: }" U, k. N" X& b( m/ L, ~2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了
- a: d% J0 q- \- Y) `' X( Z1 w0 \" l0 }# L& z& m& o! R* f3 G
比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
, @5 j- Y# g( e9 qz=x.^2+y.^2;8 ^9 o2 a5 n3 V5 I1 {
subplot(121)
; I7 W ^: _5 Z. L, g' smesh(x,y,z)) x5 T6 N: a, D% }1 J- Y4 `2 ~0 F7 l
sel=x<sin(y);
' M! _" l( M( } T+ sz(sel)=nan;* ]$ s5 A/ R( L. Y: ~9 A' O
subplot(122)
% Z* J- u% Z7 G) ^$ }$ p. ?2 ~+ Vmesh(x,y,z) |
|