抛物线法求多项式方程

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

非线性方程求根问题
教材中,对于非线性方程求根问题,主要考虑迭代法。

于是教材中大篇幅介绍了迭代的过程,之后又具体论述了开方法和牛顿法以及牛顿法的改进。

对于迭代过程的描述,首先进行根的隔离。

考虑将某个范围划分成若干个子段,然后判断哪个子段有根。

即通过在给定区间上,从左端点出发按一定步长一步一步向右跨,每跨一步进行一次根的搜索。

采用根的二分搜索使加工规模减半。

其次,进行迭代过程的设计。

其间运用压缩映像原理和局部收敛性定理来判断迭代过程是否对于迭代初值收敛。

第三,由于迭代过程的冗长,考虑迭代加速。

对迭代过程论述清楚后,介绍开方法和牛顿法。

这两者都是按照迭代函数,到迭代收敛性判定,再到迭代加速的顺序展开论述的。

其中对于改进的牛顿法还涉及到了弦截法,此法在之后文章将会有提到。

开方法迭代函数:)(21)(x
a x x +=ϕ 牛顿法迭代函数:)
()()('x f x f x x -=ϕ 牛顿法改进(引入下山因子λ)迭代公式:)()('1k k k k x f x f x x λ
-=+ 弦截法迭代函数:)()
()()()(00x x x f x f x f x x ---=ϕ 接下来讨论一种新的迭代法——抛物线法。

基本原理与算法
抛物线法是求多项式方程0)(=x P 的实根和复根的有效方法,也可用来求一般函数方程0)(=x f 根。

抛物线法是正割法的推广。

设有非线性方程
0)(=x f (1)
首先给出方程(1)根*
x 的三个初始近似值0x ,1x ,2x 过三个点(0x ,)(0x f ),(1x ,
)(1x f ),(2x ,)(2x f ),可构造二次插值多项式0)(2=x P ,用它来代替')(x f ,求0)(2=x P 的根,记为3x 作为0)(=x f 根*x 的第3次近似值,这就是抛物线法(设(0x ,)(0x f ),
(1x ,)(1x f ),(2x ,)(2x f )三点不共线)。

一般情况,设已求得方程根的近似值2-k x ,1-k x ,k x ,并用过三点(i x ,)(i x f )
),1,2(k k k i --=构造的二次插值多项式)(2x P 来代替)(x f ,求0)(2=x P 的根,并记为1+k x 作为0)(=x f 根*x 的第1+k 次近似值。

显然
))(](,,[)](,[)()(12112---+--+-+=k k k k k k k k k x x x x x x x f x x x x f x f x P (2) 其中,k
k k k k k x x x f x f x x f --=--+111)()(],[ k k k k k k k k k x x x x f x x f x x x f --=
------212121],[],[],,[ 为了求出0)(2=x P 根,将(2)式写成更加方便的形式,即
k k k k k c x x b x x a x P +-+-=)()()(22 (3)
其中,],,[12k k k k x x x f a --=
)](,,[],[1121-----+=k k k k k k k k x x x x x f x x f b
)(k k x f c =
寻求02=++k k k c h b h a 的绝对值最小的根记为k k k x x h -=+1,于是k k k h x x +=+1是
最接近k x 的方程0)(2=x P 的根。

解此二次方程,得
k
k k k k k a c a b b h 242
--= 于是,初值为0x ,1x ,2x 的抛物线法计算公式为 k k k k k
k k c a b b c x x 4221-±-=+ (k=2,3,…) (4)
其中,k a ,k b ,k c 由式(3)求得,根式钱符号应选择使(4)式分母的绝对值或模最大,即符号应取为与k b 同号,也就是说,在0)(2=x P 的两个根中选择最接近k x 的作为0)(=x f 根的第k+1次近似值。

为了计算上的方便,引入量
0112x x x x q --=,0
1021x x x x q p --=+= 于是
⎪⎪⎪⎩
⎪⎪⎪⎨⎧≡=-≡-++-=-≡-+-==c pf pc x x b x x f q p f p f q pb x x a x x qf pqf f q x x x pf pa 2212122120222
1221221022102)()())(()()()(],,[ (5) 将式(5)代入式(4)得到二次函数)(2x P 的零点为:
⎪⎭⎪⎬⎫-+=-≡-±--=)()(4)
(2123231232122x x q x x x x q ac b b x x c h (6) 其中,2102qf pqf f q a +-=
21202)(f q p f p f q b ++-=
2pf c =
ac b b c
q 4222-±-=
抛物线法(Muller 方法)计算步骤:设方程0)(=x f 。

(1)选定三个初始近似值0x ,1x ,2x ,计算相应的函数0)(=x f 值0f ,1f ,2f ,计算0
112x x x x q --=。

(2)迭代计算:
q p +=1;
h c b a ,,,(按(6)式计算,且h 分母中“±”号与b 取同号);
)(1223x x h x x -+=;
计算)(33x f f =。

(3)如果1εδ≤或23ε≤f (21,εε为给定精度),则迭代终止,3x 即为所求,否则转
(4)。

(4)如果迭代次数超过指定次数N ,则认为迭代过程不收敛,计算失败,否则以),,,,,,(3321321q f f f x x x 分别代替),,,,,,(210210q f f f x x x ,转(2)继续迭代。

注意:这里
⎪⎩
⎪⎨⎧≥--=时,当时,当113323323x x x x x x x δ 实际算例
以下将提供《计算方法》中的快速弦截法和本文引用的抛物线法来求解题目,以获得较深刻认识。

【例】求方程093)(23=---=x x x x f 在)5.1,2(--内的根。

弦截法
解:取初值20-=x ,11-=x ,代入迭代公式依次求解
)()
()()(111--+---=k k k k k k k x x x f x f x f x x
抛物线法 解:取初始近似值20-=x ,11-=x ,4.12-=x ,代入原式计算得90-=f ,61=f ,776.12=f 。

(1)计算:4.0-=q ,6.0=p
7104.0-=a ,2448.3-=b ,0656.1=c ,30767689.0=h
523071.1)(1223-=-+=x x h x x
(2)计算:由11-=x ,4.12-=x ,523071.13-=x
61=f ,776.12=f ,0306984.03=f
继续迭代,计算30767689.0=q ,30767689.1=p
13712260.0-=a ,41940837.2-=b ,040148374.0=c ,016578716.0=h 525111.1)(2334-=-+=x x h x x 。

计算0001323.0)(4-=x f
上述计算结果与快速弦截法的结果相比较,可知抛物线法收敛较快。

可以证明下述局部收敛定理。

如果)(x f 在根*x 邻近存在连续的三阶导数且初始近似值充分接近*
x ,则抛物线方法迭代过程是收敛的,且有 42.0*'*'''84.1*1*0)(6)(lim x f x f x x x x k k k =--+→ (设0)(*
'≠x f ) 在抛物线方法中,即使选取0x ,1x ,2x 为实数,但3x 也可能是复数,所以抛物线法可适用求多项式方程的实根和复根。

相关文档
最新文档