IF语句中的多个条件(仅限整数结果)

时间:2013-11-14 21:24:06

标签: matlab if-statement integer multiple-conditions

如何使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的新手,所以请原谅这个问题的简单性。

1 个答案:

答案 0 :(得分:0)

你可以做的一件事是

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

或类似的,测试b是否在整数的1e-12范围内。

如果你想测试多个号码b,你可以有一个向量b,然后

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

应该返回b的整数元素。

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