24小时热门版块排行榜    

查看: 2445  |  回复: 7
本帖产生 1 个 博学EPI ,点击这里进行查看

houbing

金虫 (初入文坛)

[交流] 非线性方程组的迭代法(数值计算高手请进)

我在用matlab求解一组非线性方程组的时候遇到了困难,因为初值选择不合适,迭代几乎都不收敛,由于数据量较大,没有办法对每个初值进行调整,有没有一种迭代算法可以对初值没有要求,我目前使用的是几个教科书上的算法,牛顿法,不动点迭代,弦割法。期待有高手可以指点迷津,先行谢过!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gaofeng925

版主 (知名作家)

houbing(金币+3, 博学EPI+1):谢谢回复 2010-05-20 10:20:53
对初值都要有要求
2楼2010-05-19 10:02:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lgm19851116

木虫 (正式写手)

清静的女孩

houbing(金币+5):谢谢你的回复 2010-05-20 10:21:11
我个人认为是你的迭代方法造成的。

因为是电脑计算,不用考虑计算量,可以选用收敛速度小的方法。一般结果较好。

如果你的变量很多,确实比较难办。

建议先估算出其中几个变量的大致范围。
尊重身边的每一个人,尽自己所能帮助别人!微笑的面对一切,以平常心对待所有的事情!拥有一颗感恩的心!
3楼2010-05-19 10:12:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

houbing

金虫 (初入文坛)

引用回帖:
Originally posted by lgm19851116 at 2010-05-19 10:12:08:
我个人认为是你的迭代方法造成的。

因为是电脑计算,不用考虑计算量,可以选用收敛速度小的方法。一般结果较好。

如果你的变量很多,确实比较难办。

建议先估算出其中几个变量的大致范围。

我有5个变量,五个方程,都是复变的,其中包括bessel方程,看来我还是得好好研究一下变量的初值了,谢谢您的回复:)
4楼2010-05-20 10:20:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

houbing

金虫 (初入文坛)

求助

为了方便向大家请教,我把我的程序贴了出来,第一次使用matlab,对着手册编了一周,有不够简洁的地方还望见谅:)

基本问题就是求解kesai afa gama J0afa J1afa J0gama J1gama(分别为afa gama的零阶和一阶bessel函数)七个变量的非线性方程组;共有5328个数据点,每个点都需要求解这样一个方程组,初值只给了kesai的初值,其它变量有显式的关系可以通过kesai求解,实际上是利用迭代法求fkesai=0;

j=1,j=2都是收敛的,j=3就不收敛了

% 不动点迭代
%define constant
clear;
E=3000000000;
rou=1200;
K=2500000000;
a=0.015;
ita=1000000;
sampling_rate=10000000;
f=(1:5238)*sampling_rate/5238;
im=i;
%calculate parameters
for j=1:5238
Estar(j)=-im*E*ita*f(j)/(E-im*ita*f(j));
end
for j=1:5238
kesai0(j)=sqrt(rou*f(j)^2/Estar(j));
end
for j=1:5238
miu(j)=3*K*f(j)*ita*im/(9*K*(1+im*f(j)*ita/E)-im*f(j)*ita);
lamda(j)=K-2/3*miu(j);
end
%initial value of variables
for j=1:5238
kesai(j)=kesai0(j);
afa(j)=sqrt(rou*f(j)^2/(lamda(j)+2*miu(j))-kesai(j)^2);
gama(j)=sqrt(rou*f(j)^2/miu(j)-kesai(j)^2);
J0afa(j)=besselj(0,afa(j)*a);
J1afa(j)=besselj(1,afa(j)*a);
J0gama(j)=besselj(0,gama(j)*a);
J1gama(j)=besselj(1,gama(j)*a);
fkesai(j)=2*afa(j)/a*(gama(j)^2+kesai(j)^2)*J1afa(j)*J1gama(j)-(gama(j)^2-kesai(j)^2)*J0afa(j)*J1gama(j)-4*kesai(j)*afa(j)*gama(j)*J1afa(j)*J0gama(j);
j
%iterative
n=1;
while abs(fkesai(j))>0.0001&(n<=10000)
%不动点迭代from fkesai=0
kesai(j)=(2*afa(j)/a*(gama(j)^2+kesai(j)^2)*J1afa(j)*J1gama(j)-(gama(j)^2-kesai(j)^2)*J0afa(j)*J1gama(j))/(4*afa(j)*gama(j)*J1afa(j)*J0gama(j));
afa(j)=sqrt(rou*f(j)^2/(lamda(j)+2*miu(j))-kesai(j)^2);
gama(j)=sqrt(rou*f(j)^2/miu(j)-kesai(j)^2);
J0afa(j)=besselj(0,afa(j));
J1afa(j)=besselj(1,afa(j));
J0gama(j)=besselj(0,gama(j));
J1gama(j)=besselj(1,gama(j));
fkesai(j)=2*afa(j)/a*(gama(j)^2+kesai(j)^2)*J1afa(j)*J1gama(j)-(gama(j)^2-kesai(j)^2)*J0afa(j)*J1gama(j)-4*kesai(j)*afa(j)*gama(j)*J1afa(j)*J0gama(j);
n=n+1;
abs(fkesai)
end
end
5楼2010-05-20 11:07:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hxz0407

金虫 (小有名气)

houbing(金币+2):谢谢回复,迭代步长不知道怎么设定,好像是算法自己决定的吧 2010-05-20 13:14:15
我觉得不管什么计算方法都是需要一个合适的初值的,特别是这么多的方程和变量,另外合适的步长也很重要,可以适当调下步长,步长未必越小越好,因为本来就是数值计算,迭代速度最快的可以看下数值计算里面的几个方法,还有一个牛顿下山法等的。
6楼2010-05-20 11:28:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hxz0407

金虫 (小有名气)

你说的对,迭代法没有取步长的问题,有收敛速率快慢的问题,取步长是二分法的
7楼2010-05-20 23:53:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

★
小木虫(金币+0.5):给个红包,谢谢回帖
1stOpt不需要初值,很强大方便,可以试试!
8楼2011-04-18 10:33:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 houbing 的主题更新
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 极限拉扯,如何抉择 +3 Isak0320 2026-10-12 5/250 2026-10-12 16:42 by Isak0320
[教师之家] 课题组会帮你通过考核么? +3 好运来~9527 2026-10-10 6/300 2026-10-12 14:55 by 简单化xn
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +4 wangyl_123 2026-10-10 7/350 2026-10-12 14:47 by chuans0923
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +5 13108017953 2026-10-08 5/250 2026-10-10 11:15 by wdwd123
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见