isnan函数:判断数组的元素是否是NaN。(Not a Number)
matlab中出现NaN的情况:
任何关于NaN的运算,
加减法:(+inf)+(-inf)
乘法:0*inf
除法:0/0;inf/inf
Remainder(余数):rem(x,y),其中y为0或x为inf
- >> inf + (-inf)
- ans =
- NaN
- >> 0*inf
- ans =
- NaN
- >> 0/0
- ans =
- NaN
- >> inf/inf
- ans =
- NaN
- >> rem(2, 0)
- ans =
- NaN
- >> rem(inf, 2)
- ans =
- NaN
- >> rem(2, 1)
- ans =
- 0
- >> rem(3,2)
- ans =
- 1
- >> rem(6,4)
- ans =
- 2
- >> rem(4, 6)
- ans =
- 4
- >> rem(4, -2)
- ans =
- 0
isnan函数用法:
tf=isnan(A):返回一个与A相同维数的数组,若A的元素为NaN(非数值),在对应位置上返回逻辑1(真),否则返回逻辑0(假)。
- >> A = [-2, 1, 0, 3, -5]
- A =
- -2 1 0 3 -5
- >> B = 1./A
- B =
- -0.5000 1.0000 Inf 0.3333 -0.2000
- >> C = isnan(B)
- C =
- 0 0 0 0 0
- >> B1 = 0./A
- B1 =
- 0 0 NaN 0 0
- >> C1 = isnan(B1)
- C1 =
- 0 0 1 0 0