0

如何使 if 语句仅识别方程的整数结果

例如:

For n=1:240
 a=a+1
 b=a/20

 %try number 1
 If b==1 | 2 | 3 | ... | 12;
 c=c+1 %does not work
 End

 %try number 2
 If b==isinteger(b);
 c=c+1 %does not work
 End

 %try number 3
 d=isinteger(b);
 If d==1;
 c=c+1 %does not work
 End
End

我只是 Matlab 的新手,所以请原谅这个问题的简单性。

4

1 回答 1

0

你可以做的一件事是

abs(b-round(b))<1e-12

或类似的,它测试是否b1e-12整数范围内。

如果你想测试很多数字b,你可以有一个向量b,然后

b(abs(b-round(b))<1e-12)

应该返回b整数的元素。

有一个名为 的 Matlab 命令isinteger,不要使用它,它用于确定变量的类型,您将使用与整数不同的数据类型的双精度数。只是需要注意的事情。

于 2013-11-14T21:36:04.933 回答