|
|
* U$ I3 B0 C7 ^! P5 b. M9 S# W% A+ Q
NAN Not A Number就是代表不是一个数据
3 v4 l8 F# _8 Q经常用在下面两种情况
, T! a9 a$ D0 e9 E9 h' ?: d( V6 W/ i1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
7 f0 ?) P* ~5 S
( K7 N) U2 `- V0 Z3 }比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据; t1 {) N" }0 y
9 F/ p7 x; r* a: i7 Q
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了9 z7 @# ^- X6 r3 n1 R. _) y
/ w; j/ I; y+ n1 f
比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
! p, W% {8 O, n' N( rz=x.^2+y.^2;, G' I1 D3 p9 G- j, Z# c( r: Y
subplot(121)* z) e+ I2 m i8 w6 Q
mesh(x,y,z)# Z8 b K+ ^/ p n" S
sel=x<sin(y);
6 j) t3 h# X1 B% s% p" t$ D' e2 g mz(sel)=nan;
( i# }6 v+ S/ q# [% M9 i& usubplot(122)
9 G. ` f9 p+ Z$ k2 ]- n' jmesh(x,y,z) |
|