|
NAN Not A Number就是代表不是一个数据
5 e9 @ b" |. O3 E! `经常用在下面两种情况# c* g2 L8 w6 r5 e* l4 Q
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理1 q8 m5 w$ R' d4 }7 D4 B
7 @* n! W! j" ~/ G; s7 K
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据2 @2 _2 r, r% H: z/ j% j; \
9 [9 x9 X3 W( u: _+ P3 \1 a6 K y
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了
% `2 V3 O# m y6 h% c- \" ]' J) G+ m1 [
比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
6 p/ ]" i$ x0 M# ^3 L# Iz=x.^2+y.^2;
5 S; Z7 e& b9 D6 A# i# A5 q6 ~subplot(121)
- |/ C7 S$ s: g9 R x4 N* C! H% Cmesh(x,y,z)
; K( s' C5 M# U: \sel=x<sin(y);
3 @# Y9 T1 I9 A! h! |8 @ U* Kz(sel)=nan;
% X. B$ k9 x F8 `6 u& ?subplot(122)
1 w1 J8 J# u8 Bmesh(x,y,z) |
|