24小时热门版块排行榜    

查看: 1705  |  回复: 5

rabbitsir

新虫 (小有名气)

[求助] 关于应用牛顿-拉夫森法求解非线性方程的问题 已有1人参与

问题是这样的,已知非线性方程f1(x1,x2,x3)=0,f2(x2,x3,x4)=0,f3(x4,x5,x6)=0,....f(x(n-2),x(n-1),x(n))=0其中x1,xn为已知数,方程中包含关于x的平方项与开方项,我想问能否应用牛顿-拉夫森法求解?我想是否可以联立求每个x的修正?
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

感谢参与,应助指数 +1
多元的Newtonfa 实际上是一个线性化的的过程。像楼主列出的方程,我们有线性化方程
$ f_{1,x_1} \delta x_1 + f_{1,x_2} \delta x_2 +f_{1,x_3} \delta x_3=-f_1 $
$ f_{2,x_2} \delta x_2 + f_{2,x_3} \delta x_3 +f_{2,x_4} \delta x_4=-f_2 $
...
$ f_{n,x_{n-2}} \delta x_{n-2} +f_{n,x_{n-1}} \delta x_{n-1} +f_{n,x_{n}} \delta x_{n} =-f_n $
迭代修正
$   x_1= x_1+\delta x_1 $
$   x_2= x_2+\delta x_2 $
...
$   x_n= x_n+\delta x_n $
直至收敛。这就是多元的Newton法。
2楼2014-11-04 09:35:44
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

rabbitsir

新虫 (小有名气)

引用回帖:
2楼: Originally posted by pippi6 at 2014-11-04 09:35:44
多元的Newtonfa 实际上是一个线性化的的过程。像楼主列出的方程,我们有线性化方程
$ f_{1,x_1} \delta x_1 + f_{1,x_2} \delta x_2 +f_{1,x_3} \delta x_3=-f_1 $
$ f_{2,x_2} \delta x_2 + f_{2,x_3} \delta x_ ...

是的,我也是这样想的,但是实际效果很不好,收敛不了,迭代1000步后,右端项-f_n的值反而越来越大了!如果应用牛顿法可能会出现这样的情况吗?请问收敛的判据一般是看\delta x足够小还是右端项的-f_n足够小呢?如果程序没错不收敛,会不会是牛顿法的问题呢?
3楼2014-11-04 10:22:15
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

引用回帖:
3楼: Originally posted by rabbitsir at 2014-11-04 10:22:15
是的,我也是这样想的,但是实际效果很不好,收敛不了,迭代1000步后,右端项-f_n的值反而越来越大了!如果应用牛顿法可能会出现这样的情况吗?请问收敛的判据一般是看\delta x足够小还是右端项的-f_n足够小呢?如 ...

Newton法应该收敛很快,如果初值给的合适,导数求得对。不收敛时会很快发散,你说的症状不像是正常的Newton 迭代情况。-f_n 就是残差,收敛标准一般是相对残差(残差和初始残差之比),比如,小于10^-8. 使用迭代误差作为判据不好。在条件数很大时容易带来很大误差。

检查你的导数是否求的正确、准确?尤其在没有解析表达式时,需要使用Quasi-Newton 。这时,求导误差容易导致迭代失败。

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

4楼2014-11-04 12:49:37
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

rabbitsir

新虫 (小有名气)

送红花一朵
引用回帖:
4楼: Originally posted by pippi6 at 2014-11-04 12:49:37
Newton法应该收敛很快,如果初值给的合适,导数求得对。不收敛时会很快发散,你说的症状不像是正常的Newton 迭代情况。-f_n 就是残差,收敛标准一般是相对残差(残差和初始残差之比),比如,小于10^-8. 使用迭代误差 ...

你好,我重新写了程序,牛顿法可行了,但是当我改变模型单元节点数目的时候,牛顿法的迭代矩阵非常容易因为出现奇异的情况而求解失败,请问有什么更好的方法吗?
5楼2014-11-08 00:37:57
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
rabbitsir: 金币+10, ★★★★★最佳答案, 问题自己还得好好想想,不过谢谢你了~~ 2014-11-18 11:43:23
引用回帖:
5楼: Originally posted by rabbitsir at 2014-11-08 00:37:57
你好,我重新写了程序,牛顿法可行了,但是当我改变模型单元节点数目的时候,牛顿法的迭代矩阵非常容易因为出现奇异的情况而求解失败,请问有什么更好的方法吗?...

你用有限元?有限元可不是对角占优的格式。我没有提到的是,在线性化的同时,你实际上还可能做了局部的pre-conditioning,有选择地忽略掉了矩阵中的一些元素以便于求逆。如果是对角占优,这种局部的pre-conditioning就不会伤及pre-conditioninger的可逆性。但是,尤其是对于某些有限元离散,不合适的局部的pre-conditioning 会导致奇性。我不肯定这是你遇到的问题,只是可能性。
6楼2014-11-08 04:58:02
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 rabbitsir 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 PnssoZglMj3v 2026-08-19 5/250 2026-08-19 17:42 by oCMhZAsgNFoO
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 cHIDTWCTtLlG 2026-08-19 5/250 2026-08-19 17:30 by oCMhZAsgNFoO
[基金申请] filecode,4个jtjc了 +10 ziyangfang 2026-08-19 11/550 2026-08-19 17:19 by wdc28
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +53 医学老男孩 2026-08-13 117/5850 2026-08-19 17:12 by 医学老男孩
[基金申请] filecode=后面第一个是大写字母 +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by 苦难博士
[基金申请] 今天放榜吗? +12 布布和一二 2026-08-19 13/650 2026-08-19 14:33 by 陈晨晨陈啊
[基金申请] 今天基金会出结果吗?20260819 +8 kkkl_v 2026-08-19 8/400 2026-08-19 12:34 by Vivilian
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 时间戳变了,能看出什么问题? +10 基诺咪客 2026-08-17 14/700 2026-08-19 10:34 by 基诺咪客
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 什么时候开奖? +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[基金申请] 重要消息,中午系统在维护 +10 yuleib84 2026-08-18 11/550 2026-08-19 07:30 by 羽毛枫f
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
信息提示
请填处理意见