我有一个由8个具有约束(最小和最大可接受值)的8个变量的7阶8个多项式方程组成的系统。
在你的经验和知识中,什么是解决这类问题的最有效的“包”?数学,Matlab,C++/ Java数学库,...
我尝试了一些天真的方法,但效果很差……所以现在我尽量做到稳妥(尽可能)
非常感谢
发布于 2013-02-21 22:26:07
你没有说这是一个恒定(已知)系数的问题,还是系数是符号的。我假设当你说七次多项式时,我假设你指的是多项式的次数。
好吧,让我们从一个事实开始。一般情况下,具有一般系数的五次或更高阶多项式将没有解析解。你总是可以走运的,但不要期望解决方案。如果系数是象征性的,那么当你的系数超过4度时,就会遇到麻烦。
你有一个多项式系统。例如,假设我们有两个二次方程,两个变量?我们可以解决其中一个问题,去掉那个变量,然后代入另一个变量。我们将在剩余的变量中得到一个四次(四次)方程。求解这4个解决方案。
但是如果我们有更大的系统,或者更高阶的多项式呢?一般规则是,消除和求解方案将有效地简化为最终的方程,其阶数等于方程的阶数的乘积。因此,一个由8个多项式组成的系统,每个多项式的次数为7,将等价于求解一个56次多项式。如果系数是常量和已知的,那么在理论上我们可以使用一些类似的多项式求根。它们中的许多都可以产生数值根解。但如果系数是符号的,而你需要一个符号解,或者如果你想要一个解析解,那么你几乎肯定会被卡住。
同样,一些简单的问题可能会有解决方案。我曾经感到惊讶的是,我用这种形式生成的问题是可以解决的,产生了一个很好的,很容易写出来的解决方案。但通常你就没那么幸运了。
当然,您正在对解决方案进行限制。这并不是那么困难,因为只要你在寻找数值解,你就可以简单地排除所有超出界限的解。
发布于 2013-02-21 19:29:44
我对你提到的所有软件包和语言都有一些求解方程的经验。
对于程序员来说,效率最高的是Mathematica,紧随其后的是Matlab和Symbolic Toolbox。对于你引用的中等规模和复杂性的问题,我认为你不应该关心执行效率,无论是Mathematica还是Matlab都不会费力地解决这样的问题。
注意,这个答案是主观的,这个问题(在一定程度上)也是主观的。
https://stackoverflow.com/questions/15001018
复制相似问题