如何使用matlab求解非线性方程组的所有整数解

2024-11-08 07:29:31
推荐回答(2个)
回答1:

这个并不好解。linprog是求解线性的。而还有一些开源包是求解0-1规划的。都不是很实用。

我推荐一种方法来求解这种问题,希望给你帮助。
启发式搜索算法

方程可以写成
f1(x1,x2,x3,...xi...xm) = 0
f2(x1,x2,x3,...xi...xm) = 0
...
fj(x1,x2,x3,...xi...xm) = 0
...
fn(x1,x2,x3,...xi...xm) = 0
这种形式。
而每个自变量xi都有范围
那么对于一组特定的向量x
让评价函数取最小
那么评价函数就可以是
sum(abs(1/(fj(x)))) j from 1 to n

这样,一个求解方程的问题就转化为了搜索问题,可以得到其数值解(近似)。

回答2:

是可以查到的