yanyongju 发表于 2011-8-26 14:41

求解非线性方程组

搜集整理的一些关于求解非线性方程组的程序,供大家参考学习。其中包括了:Newton-Raphson,Levenberg-Marquardt,Homotopy Algorithm,Quasi-Newton (Broyden) 等方法。详见附件。如有错误、不懂的地方,欢迎指教。

ChaChing 发表于 2011-8-29 15:41

首先应帮大家感谢LZ无私的分享
一个小建议, 若能举例并说明下各方法的差异, 或许更完整些

TDF 发表于 2011-8-29 16:14

向高手学习

yanyongju 发表于 2011-8-30 12:23

【没有找到怎么修改帖子,就在这里说吧!】
一般情况下,非线性方程组的求解是针对凸非线性方程组的优化问题,对于非凸问题,求解比较困难。常见的方法包括:
1.Newton-Raphson,是解非线性方程组比较经典的方法,在局部收敛点附近是平方收敛的;但其解依赖于初始解,而且都要计算Jacobi 矩阵。
2.Quasi-Newton,解决了求Jacobi矩阵时带来的困难,但是稳定性比较差。
3.Homotopy Algorithm,是对方程组进行近似,从容易求解的方程组开始,逐步过渡到原方程组的求解,从而得到问题的解。
4.Levenberg-Marquardt,则是将非线性方程组的求解转换为最小二乘问题进行优化求解。
这几种方法收敛性和稳定性,以及具体的差异,要从求解过程本身出发,详见参考书目:
. J. M. Ortega andW. G. Rheinboldt, Iterative SolutionofNonlinearEquationsinSeveral Variables, 1970.
. C. T. Kelley, Iterative Methods for Optimization, SIAM Frontiers in Applied Mathematics, No18, 1999.

拓荒的牛 发表于 2011-8-31 11:56

非常感谢分享

hjlovehyuk 发表于 2011-9-4 09:29

我还没有涉及到解非线性,不过马上也要接触了,谢谢楼主分享,支持

jianfengbuaa 发表于 2011-12-23 10:51

太好了,找了好几天终于找到了

inthesky 发表于 2012-5-30 10:37

楼主真是及时雨,以前只会用牛顿法,现在可以都试一下比较效果了。

flyhobo 发表于 2012-6-2 16:40

好的东东

donghaofane 发表于 2012-7-11 00:21

很好的 学习一下 呵呵

pengbobc0429 发表于 2012-8-31 10:37

向高手学习

shuidixn 发表于 2012-9-6 21:11

回复 4 # yanyongju 的帖子

多谢LZ分享,请问楼主涉及过非线性方程吗?这里所说的对非线性方程同样适用吗?我在解一个非线性方程,三次的,解了好几天了,可是就是数量级不对,我用的是解析的解法,我估计是系数的数量级差太多,带入解析表达式,结果matlab给忽略了,所以转向数值求解了

yanyongju 发表于 2012-11-6 14:28

shuidixn 发表于 2012-9-6 21:11 static/image/common/back.gif
回复 4 # yanyongju 的帖子

多谢LZ分享,请问楼主涉及过非线性方程吗?这里所说的对非线性方程同样适用吗? ...

如果解析求解,可以尝试一下Maple来求解。求解结果不正确的话,你应该先检查一下你的Jacobian矩阵是否正确。

kyu16866 发表于 2012-11-9 21:27

好,留名,一般我直接用solve给解了,不过有时也解不出来,而已满,问下,有解符号非线性的程序没?

yanyongju 发表于 2012-11-12 16:16

kyu16866 发表于 2012-11-9 21:27 static/image/common/back.gif
好,留名,一般我直接用solve给解了,不过有时也解不出来,而已满,问下,有解符号非线性的程序没?

你好,非线性方程符号解未必一定存在,暂时还没有程序,maple主要多用于公式推导了
页: [1] 2
查看完整版本: 求解非线性方程组