- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章非线性方程解法
第七章 非线性方程解法
2. Newton-下山法.
每次迭代在改变量前加一因子以保证收敛:
x n+1=xn-λn f(xn)/f′(xn)
这儿λn在0,1间,可用各种方法搜索,例如用分半法取1,1/2,1/4,…试探,使
f(xn+1)∣∣f(xn)∣成立为止。
牛顿下山实验⑷
上机题目:牛顿下山法上机实验
实验目的:编制求单变量非线性方程组的程序.
实验要求: ①上机前充分准备,复习有关内容,写出计算步骤,查对程序;
②完成实验后写出完整的实验报告,内容应该包括:所用的算法语言,算法步
骤陈述,变量说明,程序清单,输出计算结果,结果分析等等;③用编好的程
序在Matlab环境中执行。利用Newton下山法来解方程;
计算步骤:①准备 选定初始近似值x,计算f=f(x),。
②迭代 按公式 x迭代一次,得新的近似值x, 计算.最初=1,之后奖减半进行试算直到下山条件 ∣f(xn+1)∣∣f(xn)∣成立。
③控制 如果满足∣f(xn+1)∣∣f(xn)∣则终止迭代,;否则转步骤4;
④修改 如果迭代次数达到预先指定的次数N,或者=0,则方程失败;否则以(x,)代替()转步骤2继续迭代。
算法例题:用牛顿下山方法解方程 x-x-1=0,取迭代初值 x=1.5, d=10.
Newton下山法的Matlab程序:
function x=newton_xiashanfa(f,x0,d,max)
y=diff(f); %取导数
y=inline(y); %定义y
f=inline(f); %定义f
x(1)=x0;
l=1;
disp(k l x ); %以指定格式输出k,x.
for k=1:max
x(k+1)=x(k)-l*f(x(k))/y(x(k)); % 计算公式
if abs(f(x(k+1)))abs(f(x(k))) %判断是否小于d
if abs(x(k+1)-x(k))d
break
end
else if abs(f(x(k+1)))abs(f(x(k)))
l=l/2;
end w=k; end
for k=1:w
disp(sprintf(%d %f %10f ,k,l,x(k))) %输出算结果
end
x=x(k+1);
运行结果:
x=newton_xiashanfa(x^3-x-1,1.5,10^(-6),3)
max =3
k x f(x(K+1)) f(x(k))
3 1.325213 0.662708 0.463111
x =
1.5000 1.3478 1.3252 1.3247
Newton下山法的流程图::
流程图解释:1) 输入;2)把1 赋给;3)把赋给;4)判断,若那么表明下山成功,停止;若,那么到步骤5);5)判断 ,若 ,重迭;否则把腻给 ,到步骤3);
3.?????? 用差商代导数:
x n+1=xn-f(xn)(xn-x n-1)/(f(xn)- f(xn-1))
它免除了计算导数.
⒋ Newton法解方程组
试以二个未知数的非线性方程组为例介绍.
与一维情况一样,在初始近似(x0, y0)用Taylor展开线性化.取线性部分的零点为新的近似,即解方程组
求出Δx,Δy,再计算x1= x0+Δx, y1=y0+Δy
求出1次近似后,再用同样方法求2次近似,再求3次近似,4次近似,…直到相邻两次近似之差(的范数)在预定许可范围内.
下面看个例子;
例7????????????? 用Newton法解方程组,
解:取初始近似(1,1)T 计算结果如下表:
n x
y J
(系数矩阵) f1
f2 0 1.0000
1.0000 2.0000 2.0000
-2.0000 2.0000 -3.0000
-2.0000 1 1.2500
2.2500 2.5000 4.5000
-0.7500 2.2500 1.6250
0.3125 2 1.0000
2.0278 2.0000 4.0556
-0.9722 2.0000 0.1119
0.0556 3 1.000
文档评论(0)