好文档 - 专业文书写作范文服务资料分享网站

第七章非线性方程解法资料

天下 分享 时间: 加入收藏 我要投稿 点赞

第七章 非线性方程解法

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下山法来解方程;

计算步骤:①准备 选定初始近似值x0,计算f0=f(x0),f?0?f?(x0)。 ②迭代 按公式 x1?x0??f0f0?迭代一次,得新的近似值x1, 计算

f1?f(x1),f1??f?(x1).最初?=1,之后奖?减半进行试算直到下山条件 ∣

f(xn+1)∣<∣f(xn)∣成立。

③控制 如果满足∣f(xn+1)∣<∣f(xn)∣则终止迭代,;否则转步骤4; ④修改 如果迭代次数达到预先指定的次数N,或者f?=0,则方程失败;否则以(x1,f1,f1?)代替(x0,f0,f0?)转步骤2继续迭代。

算法例题:用牛顿下山方法解方程 x3-x-1=0,取迭代初值 x0=1.5, d=10?6. 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)))

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 f ',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) 输入x0,??;2)把1 赋给?;3)把x(0)??f(x(0))f?(x(0))赋给x1;4)

判断f(x1)?f(x0),若f(x1)?f(x0)那么表明下山成功,停止;若f(x1)?f(x0),那么到步骤5);5)判断???? ,若 ????,重迭x0;否则把步骤3);

3. 用差商代导数: x n+1=xn-f(xn)(xn-x n-1)/(f(xn)- f(xn-1)) 它免除了计算导数.

?腻给? ,到2⒋

Newton法解方程组

试以二个未知数的非线性方程组为例介绍.

?f1(x,y)?0??f2(x,y)?0

与一维情况一样,在初始近似(x0, y0)用Taylor展开线性化.取线性部分的零点为新的近似,即解方程组

?f1??f1?x?00?y??f10???x?y??f?f?20?x?20?y??f20??y??x

求出Δx,Δy,再计算x1= x0+Δx, y1=y0+Δy

求出1次近似后,再用同样方法求2次近似,再求3次近似,4次近似,…直到相邻两次近似之差(的范数)在预定许可范围内. 下面看个例子;

例7 用Newton法解方程组,

?f1(x,y)?x2?y2?5?0??f2(x,y)?(x?1)y?(3x?1)?0

解:取初始近似(1,1)T 计算结果如下表:

n x f1 J y (系数矩阵) f2 0 1.0000 2.0000 2.0000 -3.0000 1.0000 -2.0000 2.0000 -2.0000 1 1.2500 2.5000 4.5000 1.6250 2.2500 -0.7500 2.2500 0.3125 2 1.0000 2.0000 4.0556 0.1119 2.0278 -0.9722 2.0000 0.0556 3 1.0002 2.0004 4.0002 0.0007664 2.0001 -0.9999 2.0002 -0.0000054 4 1.0000 2.0000 4.0000 0.4666×10-7 2.0000 -1.0000 2.0000 0.1835×10-7

第七章非线性方程解法资料

第七章非线性方程解法2.Newton-下山法.每次迭代在改变量前加一因子以保证收敛:xn+1=xn-λnf(xn)/f′(xn)这儿λn在0,1间,可用各种方法搜索,例如用分半法取1,1/2,1/4,…试探,使下山条件∣f(xn+1)∣<∣f(xn)∣成立为止。牛顿下山实验⑷上机题目:牛
推荐度:
点击下载文档文档为doc格式
8h7h64e5266j6mw9sjhs44p5c1cp9m00dwo
领取福利

微信扫码领取福利

微信扫码分享