|
' ^+ K2 a6 j( f HNAN Not A Number就是代表不是一个数据 F# Z& V! d' C# ^0 Z
经常用在下面两种情况- k/ N# [3 z' I! P5 A3 O! t
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理- E6 c t0 W2 K4 Y, d0 s3 i
9 m) E! k: m1 ~ x5 f S, ^/ Y. ^比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据
2 O! I" B% L) @1 N: x/ W
; K: u# b, c0 {' x2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了0 @( f1 _, q$ p" Z8 M* g
; b1 L4 P; e7 f' f" n& k' F M J- q比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);; [$ a- _2 ~' k3 A3 }; }) Q
z=x.^2+y.^2;
! X* g5 Y$ t( B- `subplot(121)0 k& F( {4 \& R+ @9 ^- ]0 j; K- d
mesh(x,y,z)
& l8 y- r; _# M" K& z; Bsel=x<sin(y);
) S- r& O0 N4 G% |# H9 Gz(sel)=nan;- Z, C T: x/ j+ e! G1 r
subplot(122)
( U7 T3 }1 W4 g! R/ `mesh(x,y,z) |
|