声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2433|回复: 9

[数学理论] 解非线性方程组

[复制链接]
发表于 2009-2-27 21:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
编程序解非线性方程组,用的是牛顿迭代法
需要给出初值,请问初值一般怎么选取
请大家指教啊
回复
分享到:

使用道具 举报

发表于 2009-2-28 10:34 | 显示全部楼层
初始值不是根据自己的条件确定的么?不是随便给的吧
发表于 2009-2-28 12:29 | 显示全部楼层
楼主说的是迭代开始时的初值,而不是初始条件吧。
牛顿迭代法对初值要求严格,不如用LM法,收敛范围大些,而且可以控制保证收敛。
迭代处置的话如果能和物理量联系起来就好了。比如去上个时刻点的物理量作为计算现在这个时刻的迭代初值。一般都比较接近。一般性的话,没有直接估算的方法吧。不过可以在开始采用梯度法等收敛范围大但速度不理想的算法,后面再使用牛顿迭代等收敛范围小而速度快的算法。
 楼主| 发表于 2009-3-4 19:32 | 显示全部楼层
LM方法是什么方法啊?我不太了解啊,能解多维大型非线性方组吗?
我参考的资料是用牛顿迭代法的啊
发表于 2009-3-4 20:16 | 显示全部楼层
L-M 方法解非线性不等式组
L-M method for solving simultaneous nonlinear inequalities   
<<合肥工业大学学报(自然科学版)>>2007年 第30卷 第07期
作者: 蒋利华, 马昌凤,

刚搜索到有这个方法,楼主可以下载上面的论文看看
发表于 2009-3-4 20:18 | 显示全部楼层
LM法就是Levenberg-Marquardt法,是高斯牛顿法的变种。和高斯牛顿法都是用来解决非线性最小二乘法问题的。非线性方程组可以化为非线性最小二乘法的一个特例。使用非线性最小二乘法更容易扩展,比如方程数比未知量多,可以求得最优解。

评分

1

查看全部评分

发表于 2009-3-4 20:27 | 显示全部楼层

不知道你要解的是多少维的。
LM法的两个核心,1是计算中要求一次偏导,2是要解一个线性方程组AX=b。这两个地方最费时间。
发表于 2009-3-4 22:29 | 显示全部楼层

回复 7楼 logxing 的帖子

那么对于一个高维的系统来说这可能不怎么好了。我得方程维数比较低,不知道哪里有这类方法的详细说明,我拿来试试!谢谢!
发表于 2009-3-4 23:51 | 显示全部楼层
原帖由 无水1324 于 2009-3-4 22:29 发表
那么对于一个高维的系统来说这可能不怎么好了。我得方程维数比较低,不知道哪里有这类方法的详细说明,我拿来试试!谢谢!

http://exp.math.tsinghua.edu.cn:9100/slides/Exp07.pdf
这是一个,其实维普上也有不少LM法应用的实例。
那个偏导可以用数值微分,AX=b的话我是直接求A的逆,因为我的阶数不大,而且我之前已经建立了矩阵运算类了,所以直接调用类方法求逆了。
如果阶数大的话,解AX=b我只做过对称正定的情况下的共轭梯度法,实际是ICCG,前面加个IC预处理。非对称正定的不能做IC预处理,单纯的共轭梯度法会很慢,我就没做过了。
在matlab下算应该很方便。IC分解,CG法都有现成的函数。
发表于 2009-3-5 10:33 | 显示全部楼层

回复 9楼 logxing 的帖子

好的 ,感谢你的帮助 !
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-9 19:22 , Processed in 0.106273 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表