|
|
4 U# x$ E+ y+ \% P, x
NAN Not A Number就是代表不是一个数据
3 G* j2 v- E0 c7 t" h# P* u# }. i经常用在下面两种情况7 t9 q: F6 ^" _! X
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
. C2 M7 S4 d5 {* r8 {; Q+ r
! Z6 ~1 V) |' z& i比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据2 q9 g5 M3 K0 v4 B$ F% ~% {
6 W& E7 i( C! S4 n
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了/ e5 L8 |: J6 p
/ H x8 }0 A$ f比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);8 b' i) r5 r& _- c8 a
z=x.^2+y.^2;
q3 V0 Z( {9 G) Z$ ^' d# |subplot(121)
$ | \/ Q) H: k% f3 Z: umesh(x,y,z)
5 S, B* L, x. ^) }6 v8 k5 Zsel=x<sin(y); T* Z- a8 O3 e9 s. Y# s8 c
z(sel)=nan;: p4 f- s6 j4 o* [8 k' a" p1 R ^5 B
subplot(122)& Q( W! a$ x( t+ x$ i2 s
mesh(x,y,z) |
|