私は混合整数計画法を解くために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