24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2576  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

梅卡瓦

银虫 (小有名气)

[求助] 求助——求解三元二次多项式方程组已有1人参与

如何求解如图所示的三元二次多项式方程组?
求助——求解三元二次多项式方程组
其中x1 x2 x3 为三个未知数,其余皆为已知量。
目前查阅文献,已知的思路有吴文俊院士的特征列方法(吴消元法)、牛顿迭代法以及优化算法(如遗传算法等等)。不知这些方法各有什么优缺点,哪种方法比较合适?哪位大侠对吴消元法比较了解,能否为我指点一二?或者哪位大侠还有什么更好的办法?请各位不吝赐教,小弟在此感激不尽,一点金币,聊表心意。十万火急!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

修炼。。。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Mr__Right

专家顾问 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
梅卡瓦: 金币+25, ★★★很有帮助, 谢谢大侠的指点! 2014-05-27 12:54:42
你这个方程组比较简单. 可以直接用Maple, Mathemativa之类的求解.
比如在Mathematica中输入:
Clear[x, y, z]; NumberForm[
NSolve[{1.93805257495139 *x + 1.989901744045*y - 1.9244788 x^2 -
      0.4793725136 y^2 + 0.540591811 z^2 - 3.00851527111272 *x *y ==
     0.0356142609461645,
    -2.02270095119066 x - 0.2903506814963 y - 0.3872090436 x^2 +
      0.5233523265 y^2 - 0.2891801123 z^2 +
      0.99491104241917*x *y == -0.0211426337846164,
    0.953267077902323*z + 1.23636528154085 *x* z +
      0.855917408071703 *y* z == 0.00891858054778995},
   {x, y, z}] // MatrixForm, 15]

(请自己确认系数,自己针对自己的特定系数用软件求解即可)

求解之后得到全部的8个解如下:
{
1. {x -> 21.06516309222786 - 0.014303849674439961` I,
  y -> -31.54218263228234 + 0.020360383969386213` I,
  z -> 0.02299353864864497 + 34.5713348028858 I},(复数解)

2. {x -> 21.06516309222786 + 0.014303849674439961` I,
  y -> -31.54218263228234 - 0.020360383969386213` I,
  z -> 0.02299353864864497 - 34.5713348028858 I},(共轭的复数解)

3.  {x -> -0.8912095836950181, y -> 0.17847914180324503`,
  z -> 2.138802447878191},

4.  {x -> 1.3273043580910389`, y -> -3.6974911206708505`,
  z -> -0.01563437431037731},

5.  {x -> -0.9139950564348167, y -> 0.20165424873766055`,
  z -> -2.1411639624319863`},

6.  {x -> 0.5665708078067153, y -> 1.305714796246315,
  z -> 0.0032181478652548463`},

7.  {x -> -2.123464879108108, y -> 1.695546528257502,
  z -> -0.040380529932251094`},

8. {x -> 0.009171193670200587, y -> 0.009171193670262097,
  z -> 0.009171193670214847}
}

» 本帖已获得的红花(最新10朵)

文章乃身外之物,要多考虑编辑、审稿人和读者的感受。
6楼2014-05-25 17:09:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

Mr__Right

专家顾问 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
梅卡瓦: 金币+25, ★★★很有帮助, 分析的很有条理,求进一步指点! 2014-05-24 17:18:37
求解这类多项式方程组先要明白自己的目的和约束的情况.
首先,一般情况下closed form解析解是木有的; 个别特殊情况有但看你的问题;
1. 如果是求复数域上的全部解,Bezout定理(比左)给出全部解的个数的上限; 全部解通常是符号或半符号半数值求解;这时候方面求所有解有很多方法:
(1)Grobner basis方法;
(2)Wu 方法;
(3)resultant 结式方法;
(4)半符号半数值的Homotopy continuation方法(同伦延拓)
这些方法的本质是消元,从你的研究的角度看,只是找求解方法,Maple, Mathematica都有这些算法的工具包,可以现成调用(Wu 方法的你可以搜一下, 网上有maple写的package可以下载)

2. 数值求单个解
如果仅对局部的某个解感兴趣就有各种数值方法,
比如Newton迭代, Gauss-newton, Levenberg-Marquardt,共轭梯度等方法, 给定初值,迭代到收敛即可;
还可以用全局优化方法最小化问题的残差,
比如differential evolution, particle swarm optimization, 遗传, 模拟退火等等

这些算法都是经典的方法, 网上都能找到现成的代码和算法的详细教程.
文章乃身外之物,要多考虑编辑、审稿人和读者的感受。
2楼2014-05-22 13:08:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梅卡瓦

银虫 (小有名气)

引用回帖:
2楼: Originally posted by Mr__Right at 2014-05-22 13:08:29
求解这类多项式方程组先要明白自己的目的和约束的情况.
首先,一般情况下closed form解析解是木有的; 个别特殊情况有但看你的问题;
1. 如果是求复数域上的全部解,Bezout定理(比左)给出全部解的个数的上限; 全部解 ...

这位大侠能否加我QQ号或者留下联系方式?我想进一步交流一下,把问题搞清楚!麻烦了!471586653
修炼。。。
3楼2014-05-24 17:20:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Mr__Right

专家顾问 (著名写手)

引用回帖:
3楼: Originally posted by 梅卡瓦 at 2014-05-24 17:20:29
这位大侠能否加我QQ号或者留下联系方式?我想进一步交流一下,把问题搞清楚!麻烦了!471586653...

我自己也是业余的;
尽可能在论坛上讨论问题吧,这样更多高手关注,
大家都来参与学习
文章乃身外之物,要多考虑编辑、审稿人和读者的感受。
4楼2014-05-25 07:13:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见