|
NAN Not A Number就是代表不是一个数据, Y Z2 |9 T( J4 n3 Q1 Q& q; W
经常用在下面两种情况
2 p6 H$ M- A8 I( K6 ]7 U! A7 m8 R1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
' c+ u" S' e2 g o4 J0 X9 j
6 ?# b. A" T# \0 V Z比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据) g) [1 J" p+ K/ x2 ?) t
! N" U8 L$ ?! v3 \' ~. B2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了- p3 I+ S4 g! P# @( {3 }( C0 F
/ o) r& H2 y4 A) ?- Q2 n9 u比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
. z0 P1 G8 g& j( }1 z( \z=x.^2+y.^2;/ m, O, t0 m, g Z( A9 Q
subplot(121)
0 B p k V$ F( }5 Rmesh(x,y,z)& X* Z) ]& _: v. t/ [
sel=x<sin(y);
! M$ J: U9 F5 f5 f/ Z7 dz(sel)=nan;1 n. t: i2 W0 p6 Y1 E) i
subplot(122)+ \; z8 K( B% P3 c. @2 Z3 U& x
mesh(x,y,z) |
|