计算方法大作业非线性方程求根的新方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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) (c)当f’’(xk)>o,f(xk)>o时,“±”取为“一”;(d)当f’’(xk)>o,f(xk) 3)当f(xk)<0时,可类似得到:(a)当f’’(xk) 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(f′(x)∓ f′x2−2f′′(x)f(x)_))(6) 利用迭代函数(6),通过计算与推导,可得BNT方法的局部收敛阶. 设f(x)∈c3[a,b],x为φx的不动点,BNT方法的局部收敛阶为3阶. 3 数值实验 为验证BNT方法的有效性,下面进行数值实验. 例:求方程f(x)=x3−x−1=0在区间[1,2]上的根. 首先,可构造两种不同的不动点迭代方法,分别为x k+1=(x k+1)1/3,x k+1=x k1/3−1,k=1,2,3,⋯,并简记为FPl,FP2.将BNT方法与FPl,FP2,FP2的Stenffensen加速、牛顿法和密勒法求根进行比较,数值实验中初始迭代值取x。=1.5,近似真解为x=1.324 7,结果如表l所示.由表1可知: BNT方法的收敛速度最快,且较牛顿法快,从而验证了本文 方法的有效性.