计算方法大作业非线性方程求根的新方法

合集下载

第6章 非线性方程求根(1、二分法、迭代法)

第6章 非线性方程求根(1、二分法、迭代法)

(2) 如果将原方程化为等价方程 x = 仍取初值
x0 = 0
3
3
x+1 2
x1 =
x0 + 1 = 2
3
3
1 ≈ 0 .7937 2
1 .7937 ≈ 0 .9644 2
x2 =
依此类推,得 依此类推, x3 = 0.9940 同样的方程 x4 = 0.9990 不同的迭代格式 x5 = 0.9998 x6 = 1.0000 有不同的结果 x7 = 1.0000 已经收敛, 已经收敛,故原方程的解为 x = 1.0000
用一般迭代法求方程x lnx= 在区间( 例:用一般迭代法求方程x-lnx=2在区间(2,∞) 内的根,要求|x 内的根,要求|xk-xk-1|/|xk|<=10-8 f(x)=x-lnx解:令f(x)=x-lnx-2 f(2)<0,f(4)>0,故方程在 2,4) 故方程在( f(2)<0,f(4)>0,故方程在(2,4)内至少有一个根
y p1 p0
y=x y=g(x)
y p0
y=x
p1 x x0 y y=g(x) x1 x* y=x y y=g(x) p0 x0 x* x1
y=g(x)
x
y=x
p0 p1 x x1 x0 x* x0 x* x1 p1 x
f(x)=0化为等价方程x=g(x)的方式是不唯 f(x)=0化为等价方程x=g(x)的方式是不唯 化为等价方程x=g(x) 一的,有的收敛,有的发散. 一的,有的收敛,有的发散. example: For example:2x3-x-1=0
1 3 ( x + 1 ) = g ( x ) 进行迭代,则在 进行迭代,则在(1, 3

求解非线性方程的三种新的迭代法

求解非线性方程的三种新的迭代法

求解非线性方程的三种新的迭代法非线性方程是指未知数的高次幂或三角函数、指数函数等构成的方程。

非线性方程的求解是数值计算中的一个重要问题,常用的方法有迭代法、试位法、牛顿法等。

下面介绍三种新的迭代法。

1. 牛顿法的改进牛顿法是一种求解非线性方程的常用方法,通过选择合适的初始值,可以得到方程的一个根。

在某些情况下,牛顿法的收敛速度较慢,甚至可能发散。

为了克服这个问题,有人提出了牛顿法的改进方法。

改进的思想是在每一步的迭代中引入一个修正因子,使得每一步的迭代都能够加速收敛。

这个修正因子可以选择为方程导数的逆矩阵,或者通过数值计算方法来估计。

通过引入修正因子,可以使得牛顿法的收敛速度更快,提高求解非线性方程的效率。

2. 弦截法弦截法是一种求解非线性方程的迭代法,它可以看作是牛顿法的一种变形。

在牛顿法中,通过选择切线与x轴的交点作为新的逼近解,而在弦截法中,通过选择切线与两个初始逼近解的连线的交点作为新的逼近解。

弦截法的迭代公式为:Xn+1 = Xn - f(Xn) * (Xn - Xn-1) / (f(Xn) - f(Xn-1))在每一步迭代中,选择两个初始逼近解Xn和Xn-1,代入上述迭代公式即可求得新的逼近解Xn+1。

通过不断迭代,可以逐渐接近方程的根。

3. 牛顿-拉夫逊法牛顿-拉夫逊法是一种变步长的牛顿法,它的主要思想是通过动态调整迭代步长的大小来提高求解非线性方程的效率。

在牛顿-拉夫逊法中,首先根据初始解得到牛顿法的逼近解,然后根据逼近解和方程的误差,动态调整迭代步长。

如果逼近解接近方程的根,将步长增加,以加快收敛速度;如果逼近解偏离方程的根,将步长减小,以避免迭代发散。

λ为步长调整因子,可以根据迭代过程中的收敛情况进行动态调整。

牛顿法的改进、弦截法和牛顿-拉夫逊法是三种求解非线性方程的新的迭代法。

这些方法通过引入修正因子、变化逼近解和动态调整步长等方法,可以提高求解非线性方程的效率和收敛速度。

计算方法第三章非线性方程求根2

计算方法第三章非线性方程求根2
则由 Newton 法产生的序列{ xk } 单调地收敛到 f (x)=0 在 [a, b] 的唯一根 x*, 且收敛速度至少是二阶的。
今讨论 Newton 迭代格式的收敛速度。先看定义
定义 3.4 设序列{ pk } 收敛于 p ,且 pk ≠ p , 如果存
在常数α ≥ 1及常数 λ > 0 ,使迭代误差 ek = pk − p 满足极限
=
f ′′( x* ) 2 f ′( x* )
这说明,当 f ′( x* ) ≠ 0 ,Newton 迭代格式具有二次
的收敛速度。
计算方法
例 3:用 Newton 迭代法解方程 xe x − 1 = 0 , 精
度要求 ε = 10−5 。
解: f (x) = xex −1, f '(x) = ex (1+ x)
是求解非线性方程的有效方法之一。但它每次迭代均需 计算函数值与导数值,故计算量较大。而且当导数值提 供有困难时, Newton 法无法进行。
计算方法
例 3:用 Newton 迭代法解方程 xex − 1 = 0 , 精度要求ε = 10−5 。
解:Newton 迭代函数为
ϕ(x) =
x−
f (x) f ′( x)
x1
=
−1 +
−5 5+5
=
− 0.05 ,
x2
=
−0 .5
+
f (− 0.5) = − 0.26 f ′(−0.5)
x3 = −0.26 +
f (−0.26) f ′(−0.26)
xk

f ( xk ) ,故有迭代格式 f ′( xk )
xk+1 =

非线性方程求根word版

非线性方程求根word版

第7章 非线性方程求根本章主要内容:1.区间二分法. 2切线法. 3.弦位法. 4.一般迭代法.重点、难点一、区间二分法区间二分法是求方程f(x)=0根的近似值的常用方法。

基本思想:利用有根区间的判别方法确定方程根的区间[a,b] ,将有根区间平分为二;再利用有根区间的判别方法判断那一个区间是有根区间;重复上述步骤,直到小区间端点差的绝对值小于等于精度要求的数值,则用将上一区间的分半值作为方程的根的近似值。

区间二分法的计算步骤如下: 1.计算区间端点的函数值f(a) , f(b)(不妨设f(a)<0,f(b)>0);确定初始有根区间[a,b]. 2.二分有根区间[a,b],并计算)2(ba f + 取21b a x +=3.判断: 若0)(1=x f ,则方程的根为1x x =*;若 0)(1>x f ,则有根区间为[]1,x a x ∈*;令[]],[,111b a x a =若 0)(1<x f ,则有根区间为[]b x x ,1∈*;令 []],[,111b a b x =4. 如果│b-a │<ε(ε为误差限),则方程的根为2ba x +=*;否则转向步骤2,继续二分有根区间[a 1,b 1],并计算中点值,继续有根区间的判断,直到满足精度要求为止,即│b n -a n │<ε二分次数的确定:如果给定误差限ε,则需要二分的次数可由公式12ln ln )ln(---≥εa b n 确定应二分的次数。

例1 用区间二分法求方程0353=+-x x 在某区间内实根的近似值(精确到0.001)【思路】参见上述区间二分法的计算步骤解 ∵f(1.8)=-0.168<0, f(1.9)=0.359>0 ∴f(x)在区间[1.8 ,1.9]内有一个根。

由公式 644.512ln 001.0ln 1.0ln 12ln ln )ln(=--=---≥εa b n取n=6, 计算结果列表如下:则方程在区间[1.8,1.9]内所求近似值为x *≈ x = 1.8328125区间二分法的优点是计算程序简单,只要f (x )在区间[a,b]上连续,区间二分法就可使用,但区间二分法不能用来求偶次重根,由于区间二分法收敛比较慢,在实际计算中,区间二分法常用来求比较好的含根区间和初始近似值,以便进一步使用收敛更快的迭代法求出更精确的近似值。

求解非线性方程和方程组的一些新方法

求解非线性方程和方程组的一些新方法

求解非线性方程和方程组的一些新方法求解线性方程分为两种方法–二分法和迭代法常见的方法一共有5种二分法迭代法牛顿法割线法拟牛顿法Halley法使用条件二分法需要知道两个自变量,分别是一个根的两侧牛顿法迭代法是最常用的方法,收敛性信赖于初值,取不同的初值可以的方程不同的根,函数用的是一阶导数,输入的是一个猜想的可能的值割线法给定两个初值再带入计算,比如要在2附近求一个根,那就可以假设这个范围是(1.9,2)拟牛顿法这个比较方便,用时最好可以找到一个好的初始值Halley法需要知道函数值以及它的一阶求导、二阶求导这里我从计算代码的角度来解释一下,代码按以下顺序给出。

把方程组直接带入已知条件,就可以得到答案。

二分法基本函数是这样子的:y = dichotomy(fun,a,b,tol);二分法的算法要输入四个变量,fun,a,b,tol:函数,一个根的左右点,tol=1.0e-6function y =fun(x)y = x^3-5* x +4.272;上面这个就是定义的fun,每次的输入的方程不同,第一条不动,直接改第二行就可以的。

比如这里我们要计算的方程y = x^3 - 5 * x + 4.272;我们是可以通过简单计算得到一个根的两侧分别是1和1.3那在窗口指令指令中输入x=dichotomy(’fun‘,1,1.3,1.0e-6)就可以得到结果function y =dichotomy(fun,a,b,tol)if nargin <4tol =1.0e-5;endn =1;iffeval(fun,a)*feval(fun,b)<0c =(a+b)/2;while(abs(b-c)>tol)&&(abs(feval(fun,c))>tol)if(feval(fun,c)*feval( fun,a)>0)a = c;c=(a+b)/2;elseif(feval(fun,c)*feval(fun,a)<0)b = c;c =(a+b)/2;elsey = c;tol =100;endn = n +1;endy = c;elseif feval(fun,a)==0y = a;elseif feval(fun,b)==0y = b;elsedisp('there may not be a root in the interval');endnfunction y =fun(x)y = x^3-5* x +4.272;牛顿法还是用刚才那道题,y = x^3 - 5 * x + 4.272,一阶导是y = 3 * x^2 - 5;function y =dfun(x)y =3* x^2-5;下面的是具体的算法,根据x = newton(x0,tol),我们只需要输入一个我们猜想的值就可以。

数值计算大作业

数值计算大作业

数值计算大作业题目一、非线性方程求根1.题目假设人口随时间和当时人口数目成比例连续增长,在此假设下人口在短期内的增长建立数学模型。

(1)如果令()N t 表示在t 时刻的人口数目,β表示固定的人口出生率,则人口数目满足微分方程()()dN t N t dt β=,此方程的解为0()=tN t N e β; (2)如果允许移民移入且速率为恒定的v ,则微分方程变成()()dN t N t vdt β=+, 此方程的解为0()=+(1)t t vN t N e e βββ-;假设某地区初始有1000000人,在第一年有435000人移入,又假设在第一年年底该地区人口数量1564000人,试通过下面的方程确定人口出生率β,精确到410-;且通过这个数值来预测第二年年末的人口数,假设移民速度v 保持不变。

4350001564000=1000000(1)e e βββ+-2.数学原理采用牛顿迭代法,牛顿迭代法的数学原理是,对于方程0)(=x f ,如果)(x f 是线性函数,则它的求根是很容易的,牛顿迭代法实质上是一种线性化方法,其基本思想是将非线性方程0)(=x f 逐步归结为某种线性方程来求解。

设已知方程0)(=x f 有近似根k x (假定0)(≠'x f ),将函数)(x f 在点k x进行泰勒展开,有.))(()()(⋅⋅⋅+-'+≈k k k x x x f x f x f于是方程0)(=x f 可近似地表示为))(()(=-'+k k x x x f x f这是个线性方程,记其根为1k x +,则1k x +的计算公式为)()(1k k k k x f x f x x '-==+,,,2,1,0⋅⋅⋅=k这就是牛顿迭代法,简称牛顿法。

3.程序设计作出函数的图像,大概估计出根的位置fplot('1000*exp(x)+(435*x)*(exp(x)-1)-1564',[0 3]);grid大概估计出初始值x=0.5function [p1,err,k,y]=newton(f,df,p0,delta,max1) % f 是非线性系数 % df 是f 的微商 % p0是初始值% dalta 是给定允许误差 % max1是迭代的最大次数 % p1是牛顿法求得的方程近似解 % err 是p0误差估计 % k 是迭代次数 p0,feval('f',p0) for k=1:max1p1=p0-feval('f',p0)/feval('df',p0); err=abs(p1-p0); p0=p1;p1,err,k,y=feval('f',p1) if(err<delta)|(y==0), break,endp1,err,k,y=feval('f',p1) endfunction y=f(x)y=1000000*exp(x)+435000*(exp(x)-1)/x-1564000; function y=df(x)y=1000000*exp(x)+435000*(exp(x)/x-(exp(x)-1)/x^2);4.结果分析与讨论newton('f','df',1.2,10^(-4),10) 运行后得出结果 p0 =0.5000p1 =0.1679 err =0.3321 k =1 y =9.2415e+004 p1 =0.1031 err =0.0648 k =2 y =2.7701e+003 p1 =0.1010 err =0.0021 k =3 y =2.6953p1 =0.1010 err =2.0129e-006 k =4 y = 2.5576e-006 ans =0.1010运算后的结果为1010.0=β,通过这个数值来预测第二年年末的人口数,0.10100.1010435000f(t)=1000000(1)0.1010t te e +-t=2时候对于f ()2187945.865x =实践表明,当初始值难以确定时,迭代法就不一定收敛了,因此要根据问题实际背景或者二分法先得一个较好的初始值,然后再进行迭代;再者迭代函数选择不合适的话,采用不动点迭代法也有可能出现不收敛的情况;因此我采用的是牛顿法。

第七章 非线性方程求根

第七章 非线性方程求根
第七章 非线性方程求根
§7.1 二分法 §7.2 迭代法及其收敛性 §7.3 迭代法的加速方法 §7.4 Newton迭代法 §7.5 弦截法与抛物线法 §7.6 解非线性方程组的Newton迭代法
§7.1 二分法(图示)(返回)
§7.2 迭代法及其收敛性(返回)
不动点迭代 压缩映像原理 局部收敛性 收敛阶
y (x)
x
x* x2
x1
x0 x
x* x0 x1
x2
Aitken加速法图示
y y (x)
yx
x x1 x* x1 x0 x2
二分法图示
y
y f (x)
a0 O x* b2 b1
b0
Hale Waihona Puke xNewton迭代法的几何解释
y y f (x)
x* x2
x x1 x0
Newton迭代法算例
不动点迭代(图示)(返回)
压缩映像原理(返回)(例题)
局部收敛性(返回)(例题)
收敛阶(返回)
§7.3 迭代法的加速方法(返回)
Aitken加速法 Steffensen加速法
Aitken加速法(图示)
Steffensen加速法
§7.4 Newton迭代法(返回)
Newton迭代法及其收敛性 简化Newton法 Newton下山法 重根情形的Newton迭代法
Newton迭代法及其收敛性(算例)
简化Newton法
Newton下山法
重根情形的Newton迭代法
§7.5 弦截法与抛物线法(返回)
§7.6 解非线性方程组的 Newton迭代法(返回)
压缩映像原理例题
局部收敛性例题
不动点迭代图示

数值计算大作业

数值计算大作业

课程设计课程名称:设计题目:学号:姓名:完成时间:题目一:非线性方程求根 一 摘要非线性方程的解析解通常很难给出,因此非线性方程的数值解就尤为重要。

本实验通过使用常用的求解方法二分法和Newton 法及改进的Newton 法处理几个题目,分析并总结不同方法处理问题的优缺点。

观察迭代次数,收敛速度及初值选取对迭代的影响。

用Newton 法计算下列方程(1) 310x x --= , 初值分别为01x =,00.45x =,00.65x =; (2) 32943892940x x x +-+= 其三个根分别为1,3,98-。

当选择初值02x =时给出结果并分析现象,当6510ε-=⨯,迭代停止。

解:1)采用MATLAB 进行计算;首先定义了Newton 法:function kk=newton(f,df,x0,tol,N)% Newton Method (牛顿法)% The first parameter f is a external function with respect to viable x.(第一个参数也就是本题所用的函数f )% The second parameter df is the first order diffential function of fx.(第二个参数也就是本体所用函数f 的导数方程df ) % x0 is initial iteration point(初值). % tol is the tolerance of the loop (精度).% N is the maximum number of iterations (循环上限). x=x0;f0=eval(f);df0=eval(df); n=0;disp(' [ n xn xn+1 fn+1 ]'); while n<=N x1=x0-f0/df0; x=x1; f1=eval(f); X=[n,x0,x1,f1]; disp(X);if abs(x0-x1)<tolfprintf('The procedure was successful.') kk=X; return else n=n+1; x0=x1;f0=f1;endendif n==N+1fprintf('the method failed after N iterations. '),kk=0;End我们把Newton法存为.m格式的文件;之后我们运行程序:clear;clc;syms xf=x^3-x-1;df=diff(f,x);x=newton(f,df,1,0.0001,50);x会得到一下结果[ n xn xn+1 fn+1 ]0 1.0000 1.5000 0.87501.0000 1.5000 1.0625 -0.86302.0000 1.0625 1.4940 0.8408到第50次迭代时候会出现该问题:47.0000 1.4898 1.0814 -0.816748.0000 1.0814 1.4898 0.816749.0000 1.4898 1.0814 -0.816750.0000 1.0814 1.4898 0.8167the method failed after N iterations.x =0;同样测试x0=0.45、0.65得不出结果,判断出初值离真值太远,所以我们采用牛顿下山法进行计算迭代:我们定义了其中的f函数和df函数,并且分别存为.m格式的文件,其代码如下:f:function y=f(x)y=x^3-x-1;df:function y=df(x)y=3*x^2-1;之后我们定义newton下山法同时也存为.m的程序:function [x,i]=downnewton(f,df,x0,tol)k=0;i=1;disp(' [ n xn xn+1 fn+1 ]'); while(k==0)fx=feval('f',x0);dfx=feval('df',x0);t=0;u=1;while(t==0)dx=-fx/dfx;x1=x0+u*dx;fx1=feval('f',x1);fx0=feval('f',x0);if(abs(fx1)>abs(fx0));u=u/2;elset=1;endendX=[i,x0,x1,fx1];disp(X);if(abs(fx1)<tol)k=1;elsex0=x1;i=i+1;endendx=x1;i=i;end之后带入x0=0.45;downnewton('f','df',0.45,10^(-6))[ n xn xn+1 fn+1 ]1.0000 0.4500 -0.4155 -0.65622.0000 -0.4155 -0.5857 -0.61523.0000 -0.5857 -0.5754 -0.61514.0000 -0.5754 -0.5782 -0.61515.0000 -0.5782 -0.5773 -0.61516.0000 -0.5773 -0.5774 -0.61517.0000 -0.5774 -0.5773 -0.61518.0000 -0.5773 -0.5774 -0.61519.0000 -0.5774 -0.5774 -0.615110.0000 -0.5774 -0.5774 -0.615111.0000 -0.5774 1.3131 -0.049012.0000 1.3131 1.3248 0.000513.0000 1.3248 1.3247 0.0000ans =1.3247带入x0=0.6;downnewton('f','df',0.6,10^(-6))[ n xn xn+1 fn+1 ]1.0000 0.6000 1.1406 -0.65662.0000 1.1406 1.3668 0.18663.0000 1.3668 1.3263 0.00674.0000 1.3263 1.3247 0.00005.0000 1.3247 1.3247 0.0000ans =1.3247带入x0=1;downnewton('f','df',1,10^(-6))[ n xn xn+1 fn+1 ]1.0000 1.0000 1.5000 0.87502.0000 1.5000 1.3478 0.10073.0000 1.3478 1.3252 0.00214.0000 1.3252 1.3247 0.0000ans =1.32472)同样采用Newton下山法:重新定义f、df:f:function y=f(x)y=x^3+94*x^2-389*x+294;df:function y=df(x)y=3*x^2+188*x-389;再带入初值x0=2;downnewton('f','df',2,5*10^(-6))[ n xn xn+1 fn+1 ]1 2 -98 0ans =-98得出x=-98;分析:先画出该函数的图像;x=(-100:.1:100);ezplot('x^3+94*x^2-389*x+294',[-100 100]) 得出该图像如图:-100-80-60-40-20020406080024681012141618x 105xx 3+94 x 2-389 x+294根据牛顿法的几何解释,在x0=2的点做切线,与y 相交,交点的横坐标值为x=-98则结束了该现象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算方法大作业
题目:非线性方程求根的新方法
班级:xxx
学号:xxx
姓名:xxx
非线性方程求根的新方法
一、问题引入
在计算和实际问题中经常遇到如下非线性问题的求解:
F(x)=0 (1)

我们经常采用的方法是经典迭代法:
经典迭代方法
不动点迭代方法是一种应用广泛的方法,其加速方法较多,如Stiffensen加速方法的局
部收敛阶(以下简称为收敛阶)为2阶;牛顿迭代方法的收敛阶亦为2阶,且与其相联系的一
些方法如简化牛顿法、牛顿下山法、弦截法的收敛阶阶数介于1和2之间;而密勒法的收敛
阶与牛顿法接近,但计算量较大且涉及零点的选择问题,同时收敛阶也不够理想。
因此本文介绍一种新的迭代方法
从代数角度看,牛顿法和密勒法分别是将f(x)在xk附近近似为一线性函数和二次抛物插
值函数,一种很自然的想法就是能否利用Taylor展开,将f(x)在xk附近近似为其他的二次函
数?答案是肯定的.其中的一种方法是将f(x)在Xk处展开3项,此时收敛阶应高于牛顿法,这
正是本文的出发点.
二、算法推导
设函数f(x)在xk附近具有二阶连续导数,则可将f(x)在xk处进行二阶Taylor展开,方程(1)
可近似为如下二次方程:
f(xk)+f’(xk)(x-xk)+2^(-1)f’’(xk)(x-xk)^2=0,(2)

2^(-1)f’’(xk)x^2+(f’(xk)-xkf’’(xk))x+2^(-1)f’’(xk)xk^2-xkf’(xk)+f(xk)=0(3)
利用求根公式可得
X=xk-(f’’(xk))^(-1)(f’(xk))-sqrt((f’(xk)^2±2f’’(xk)f(xk)))(4)
其中±符号的选取视具体问题而定,从而可构造迭代公式
X k+1=xk-(f’’(xk))^(-1)(f’(xk))-sqrt((f’(xk)^2±2f’’(xk)f(xk)))(5)
确定了根号前正负号的迭代公式(5),可称为基于牛顿法和Taylor展开的方法,简记为BNT
方法.
为描述方便起见,以下将f(xk),f’(xk),f’’(xk)分别记为f,f’,f’’.首先,二次方程(3)对应于一
条抛物曲线,其开口方向由f’’(xk),x∈U(xk)的符号确定,其中U(xk)为xk的某邻域,其顶点

P(xk-(f’’)^(-1)f’,fk-(2f’’)^(-1)(f’)^2).为使(5)式唯一确定x k+1,须讨论根式前正负号的取舍问
题.下面从该方法的几何意义分析(5)式中正负号的取舍.
1)当f(xk)=o时,z。即为所求的根.
2)当f(xk)>O时,根据y=f(x)的如下4种不同情形(见图1)确定(5)式中根号前的符号.
(a)当f’’(xk)o时,“±”取为“一”;(b)当f’’(xk)(c)当f’’(xk)>o,f(xk)>o时,“±”取为“一”;(d)当f’’(xk)>o,f(xk)3)当f(xk)<0时,可类似得到:(a)当f’’(xk)o时,“±”取为“+”;(b)当
f’’(xk)o,f(xk)>o时,“±”取为“+”;(d)当
f’’(xk)>o,f(xk)至此,BNT方法的迭代公式完全确定.下面给出利用BNT方法求根的算法描述.
算法1
Step 1:取初始迭代值z。,给出最大迭代次数N和精度£,并令累计迭代次数k=0.
Step 2:k=k+1.
Step 3:若f’’(xk)=0,则此时f(x)可近似为线性函数,采用牛顿法求之;否则计算△=
(f’(xk))^2—2f’’(xk)f(xk).
Step 4:判定△的符号,若△<0,则算法停止;否则利用(5)进行计算,得到x k+1.
Step 5:判定是否停止迭代,如果k>N或|x k+1-xk|≤£,则停止迭代;否则回到Step2.
注:①当k>N时,非线性迭代不收敛,当Iz川一z。I≤£时,非线性迭代收敛;②当△<0
时,该非线性方程在该区间不存在实根;③该方法可推广到非线性方程组的情形.
2.2局部收敛阶
类似于牛顿法,可将BNT方法视为一种不动点方法,则对应的迭代函数为

φ x =x−(f′′(x))−1(𝑓′(𝑥)∓ 𝑓′ 𝑥 2−2𝑓′′(𝑥)𝑓(𝑥)_))(6)
利用迭代函数(6),通过计算与推导,可得BNT方法的局部收敛阶.
设f(x)∈𝑐3[a,b],x为φ x 的不动点,BNT方法的局部收敛阶为3阶.
3 数值实验
为验证BNT方法的有效性,下面进行数值实验.
例:求方程f(x)=𝑥
3
−𝑥−1=0在区间[1,2]上的根.

首先,可构造两种不同的不动点迭代方法,分别为x𝑘+1=(𝑥𝑘+1)1/3,x
𝑘+1=𝑥𝑘

1/3
−1,k=1,

2,3,⋯,并简记为FPl,FP2.将BNT方法与FPl,FP2,FP2的Stenffensen加速、牛顿法
和密勒法求根进行比较,数值实验中初始迭代值取x。=1.5,近似真解为x=1.324 7,结
果如表l所示.由表1可知:
BNT方法的收敛速度最快,且较牛顿法快,从而验证了本文
方法的有效性.
表1 对比实验结果
迭代方法 迭代次数
FP1 7
FP2
不收敛

FP2的Stenffensen加速
6
牛顿法
4
密勒法
5
BNP方法
3

相关文档
最新文档