isnan函数matlab

isnan函数:判断数组的元素是否是NaN。(Not a Number)


matlab中出现NaN的情况:

任何关于NaN的运算,

加减法:(+inf)+(-inf)

乘法:0*inf

除法:0/0;inf/inf

Remainder(余数):rem(x,y),其中y为0或x为inf

[plain]  view plain  copy
  1. >> inf + (-inf)  
  2.   
  3. ans =  
  4.    NaN  
  5.   
  6. >> 0*inf  
  7.   
  8. ans =  
  9.    NaN  
  10.   
  11. >> 0/0  
  12.   
  13. ans =  
  14.    NaN  
  15.   
  16. >> inf/inf  
  17.   
  18. ans =  
  19.    NaN  
  20.   
  21. >> rem(2, 0)  
  22.   
  23. ans =  
  24.    NaN  
  25.   
  26. >> rem(inf, 2)  
  27.   
  28. ans =  
  29.    NaN  
[plain]  view plain  copy
  1. >> rem(2, 1)  
  2.   
  3. ans =  
  4.      0  
  5.   
  6. >> rem(3,2)  
  7.   
  8. ans =  
  9.      1  
  10.   
  11. >> rem(6,4)  
  12.   
  13. ans =  
  14.      2  
  15.   
  16. >> rem(4, 6)  
  17.   
  18. ans =  
  19.      4  
  20.   
  21. >> rem(4, -2)  
  22.   
  23. ans =  
  24.      0  

isnan函数用法:

tf=isnan(A):返回一个与A相同维数的数组,若A的元素为NaN(非数值),在对应位置上返回逻辑1(真),否则返回逻辑0(假)。

[plain]  view plain  copy
  1. >> A = [-2, 1, 0, 3, -5]  
  2.   
  3. A =  
  4.     -2     1     0     3    -5  
  5.   
  6. >> B = 1./A  
  7.   
  8. B =  
  9.    -0.5000    1.0000       Inf    0.3333   -0.2000  
  10.   
  11. >> C = isnan(B)  
  12.   
  13. C =  
  14.      0     0     0     0     0  
  15.   
  16. >> B1 = 0./A  
  17.   
  18. B1 =  
  19.      0     0   NaN     0     0  
  20.   
  21. >> C1 = isnan(B1)  
  22.   
  23. C1 =  
  24.      0     0     1     0     0  

猜你喜欢

转载自blog.csdn.net/u013550000/article/details/80671813
今日推荐