|
|
NAN Not A Number就是代表不是一个数据
, C5 ~! X2 D* f! c1 d' p5 p3 A经常用在下面两种情况
% E6 A$ ?; W, Y/ f1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
- M F: z% z& O. h: C+ [- F2 {- l: E" y
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据
5 L8 E* r" K: i8 A4 ^
/ H1 z; j$ |$ U( F) y6 M/ I. A$ m- x2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了
4 X# ~& N9 g7 P; c& S; I; Z8 k
1 M5 U# ~% X2 q( }0 o9 j# K" }比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);# D4 U% P0 H3 J3 R3 x3 t) h
z=x.^2+y.^2;
- q* m& f# K+ p( L& v, m- M5 csubplot(121)9 v/ m3 D d- ^# b9 \+ Z. X9 O
mesh(x,y,z)" d! }9 e9 U0 n, t; ^
sel=x<sin(y);( B9 ]- y2 Z6 a& m
z(sel)=nan;; w2 Q1 q) k3 k# |
subplot(122)9 j; M4 V) V6 t; A( U8 _ a0 Q8 t3 x
mesh(x,y,z) |
|