|
NAN Not A Number就是代表不是一个数据
( } ] W! e2 }+ x0 U经常用在下面两种情况5 k+ q4 e- Z# |/ C' t7 R
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
% P5 |6 p- T; W' Z+ N! o. B: g6 g) C" k( H5 d4 {
比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据2 W( K, r+ Z" i' O* Y# O
, r0 m" T% |* ~' O; |" Q
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了+ |% q- @) e. e
0 @9 m! ?' d$ E6 b; o, C0 p比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);8 m+ u1 \/ {% i$ c, R
z=x.^2+y.^2;
' r# Q$ ?0 Y# n; Psubplot(121)
1 X' `' ?2 W5 T3 {# Jmesh(x,y,z)
: I3 w/ [ e0 z( u6 p0 Xsel=x<sin(y);
' v* a7 |* t+ mz(sel)=nan;
- ?( Q' ~7 K2 h4 Z/ D5 jsubplot(122)8 c6 N, n6 Q- Z7 m ~2 v
mesh(x,y,z) |
|