如何使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的新手,所以请原谅这个问题的简单性。
答案 0 :(得分:0)
你可以做的一件事是
abs(b-round(b))<1e-12
或类似的,测试b
是否在整数的1e-12
范围内。
如果你想测试多个号码b
,你可以有一个向量b
,然后
b(abs(b-round(b))<1e-12)
应该返回b
的整数元素。
有一个名为isinteger
的Matlab命令,不要使用它,它用于确定什么类型的变量,你将使用与整数不同的数据类型的双精度数。只是需要注意的事情。