我正在使用 matlab 来解决混合整数规划,在我从 linprog 获得解决方案后,我想评估它们是否都是整数(x 是 n 维),但我想不出办法做到这一点。
所有函数,例如mod(x,1) == 0
,isequal(x,floor(x))
都会给出错误的答案。
更奇怪的是,如果你手动输入一个具有相同参数的向量,结果是正确的。
结果显示:(这里所有的x都是从linprog的结果中得到的)。任何人都可以帮助解决这个问题或提出一些其他有用的方法来评估这个?
K>> x
x =
7.0000
1.0000
K>> mod(x,1)
ans =
0.0000
1.0000
K>> x
x =
6.0000
3.0000
K>> isequal(x,floor(x))
ans =
0