|
|
NAN Not A Number就是代表不是一个数据( ?8 m) ^$ h! x q Y, ]
经常用在下面两种情况$ U3 k' R* e- j' _$ Z% X
1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理
- o6 B0 n) d/ a
a7 }% q7 k# F, T比如Matlab中提供的nanmean, nanmax, nanmin, nanstd, nansum, nanvar这么多函数可以处理包含nan的数据# o- C9 h1 Z% P% Y# u
2 h/ s; v2 q4 Q1 q
2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了
/ e( D9 I4 i- U$ ?. A2 D$ G- Y1 z* H8 M
比如我们要绘制z=x^2+y^2在[-10 10]区域的图形但是要挖掉x<sin(y)的那部分,那我们看看如何操作[code][x,y]=meshgrid(-10:0.1:10);
1 Y! J! P8 ~+ ] }% F2 ^; fz=x.^2+y.^2;1 h* x- `* w0 ?. ?0 p ~
subplot(121)
# [: f" Q7 \! D! I, q" b' o' v- gmesh(x,y,z)
# |+ @( p3 w1 x7 t3 G Rsel=x<sin(y);
) S# [9 |) M8 P3 M5 Az(sel)=nan;
$ |& \, e1 }/ C/ qsubplot(122)
& `" m& n6 j! O% v7 gmesh(x,y,z) |
|