|
|
NAN Not A Number就是代表不是一个数据
# R `" O4 j8 r8 a2 B! r经常用在下面两种情况
. J/ u# `# Y1 w; |# f1 _1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理' i3 q! G% R% Q/ X3 V- s$ h
; o. a' ~2 g# }4 Y) V R
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据
. R+ S9 H9 v7 F7 q, b
4 e* p B1 w8 `5 }+ K2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了
2 ]) T3 p- X2 h2 i. i
: H0 C8 z7 ~7 c' Q) K5 M/ |比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);( L Y7 }! Z9 v7 Q' J. G
z=x.^2+y.^2;
2 X5 G. W( i% g, m2 s) H9 ksubplot(121)8 U$ u1 a. L; `& m
mesh(x,y,z)
: Q( j9 G9 D8 ^6 vsel=x<sin(y);
, K6 g: Q4 e6 F: T$ ? L" ], az(sel)=nan;6 [- G5 r: [; |3 C! o% G- P6 b0 I
subplot(122), h; V/ o& O0 N2 k7 k. R8 S0 I, N W4 D" |
mesh(x,y,z) |
|