毕业论文参考_非线性方程求根的迭代法

《毕业论文参考_非线性方程求根的迭代法》由会员分享,可在线阅读,更多相关《毕业论文参考_非线性方程求根的迭代法(67页珍藏版)》请在文档大全上搜索。
1、第4章 非线性方程求根的迭代法 本章重点介绍求解非线性方程 的几种常见和有效的数值方法.无论在理论上,还是在实际应用中,这些数值解法都是对经典的解析方法的突破性开拓和补充,许多问题的求解,在解析方法无能为力时,数值方法则可以借助于计算机出色完成.0)(xfnf(x)=0某个区间上可能有奇数重根或者有偶数重根,都可以转换为讨论单根的情形(具体数学细节不多加解释)。所以此节我们考察单根情形。4.1二分法求非线性方程0)(xf 确定方程的有根区间 计算根的近似值的根的方法分为两步:n首先确定有限区间:依据零点定理。 设 ,且 ,则方程 在区间 上至少有一个根。如果 在 上恒正或恒负,则此根唯一。,)
2、(baCxf0)()(bfaf0)(xf),(ba)(xf),(ba等步长扫描法求有根区间 n用计算机求有根区间:等步长扫描法。 设h0是给定的步长,取 ,若 则扫描成功;否则令 ,继续上述方法,直到成功。如果 则扫描失败。再将h 缩小,继续以上步骤。haxax10,0)()(10 xfxfhxxxx0110,bx 1等步长扫描算法 (了解)n算法:(求方程 的有根区间)(1) 输入 ;(2) ; (3) ,若 输出失败信息,停机。(4)若 。输出 ,已算出方程的一个根,停机。0)(xfhba,)(0aff )(,1xffhaxbx 01fx等步长扫描算法(5) 若 。输出 为有根区间,停机(
3、6) ,转 3)n注:如果对足够小的步长h扫描失败。说明:在 内无根在 内有偶重根010ff, ,xaxaxa ,ba,banQustion: 有没有更直观的方法呢?二分法 n用二分法(将区间对平分)求解。 令 若 ,则 为有根区间,否则 为有根区间 记新的有根区间为 , 则 且 )(,1121111bacbbaa0)()(11cfaf,11ca,11bc,22ba,2211baba)(112122abab二分法n对 重复上述做法得n且 ,22ba.,.,2211nnbababa)(211ababnnn二分法 设 所求的根为 , 则 即 取 为 的近似解 x.2 , 1,nbaxnn.2 ,
4、1nbxann0)(21lim)(lim1nababnnnnxbannnnlimlim)(21nnnbacxxn二分法特点:(1)条件简单,只需要满足连续性即可。(2)收敛速度慢,精度要求比较高时,时间花费比较大。例题n例1 设方程 2 , 1 , , 1)(3baxxxf4.2 基本迭代法n迭代法及收敛性 对于 有时可以写成 形式 如: 0)(xf)(xx3331101xxxxxxxxxxcos0cos迭代法及收敛性 考察方程 。不能直接求出它的根,但如果给出根的某个猜测值 , 代入 中的右端得到 ,再以 为一个猜测值,代入 的右端得 反复迭代得)(xx0 x)(xx)(01xx1x)(xx
5、)(12xx,.1 , 0)(k1kkxx迭代法及收敛性 若 收敛,即 则得 是 的一个根kx xxkklimx)(xx)()lim()(limlim1nxxxxxnnnnn基本迭代法 上述方法称为 基本迭代法将 变为另一种等价形式 。选取 的某一近似值 ,则按递推关系 产生的迭代序列 。这种方法算为简单迭代法。0)(xf)(xxx,0bax ,.1 , 0)(k1kkxxkx 若 收敛,即 称迭代法收敛,否则称迭代法发散kx xxkklim迭代法的几何意义n 交点的横坐标 *x)()(xyxyxxy=x2x0 x1x例题 例 试用迭代法求方程 在区间(1,2)内的实根。 解:由 建立迭代关系
6、 k=10,1,2,3.计算结果如下:31xx01)(3xxxf311kkxx例题n精确到小数点后五位5102132472. 1x例题n但如果由 建立迭代公式 仍取 ,则有 , 显然结果越来越大, 是发散序列1x3x,.2 , 1131kxxkk 5 . 10 x 2.3751x 12.392x kxn下面考虑如下两个问题:n什么时候收敛?n收敛速度怎么刻画?迭代法的收敛性n定理(压缩映像原理)(了解)设迭代函数 在闭区间 上满足(1)(2) 满足Lipschitz条件即 有且 。 )(x ,ba,)(,baxbax)(x,21baxx )()(2121xxLxx10 L压缩映像原理则 在 上
7、存在 唯一解 ,且对 ,由 产生的序列 收敛于 。 )(xx,0bax )(k1kxx.1kxx,bax关于压缩映像教材上有另外一种形式Th4.2.1 则基本迭代格式收敛的充要条件是:*/( )(),( )xxxxx xxx是的根,U设连续,*10()(kkx基本迭代格式xx 的初始值xU)( )1xL*(xxU)例题n例例 证明函数 在区间1,2上满足迭代收敛条件。n证明:31)x(x上严格单调增函数。是区间所以因为,)(2 , 1 0) 1(31)x(32baxxx例题 2 , 1 1431|) 1(31| )(|332xLxx又23)2(12) 1 (33,而)。满足条件(,所以即1)(
8、2 , 1 )2(),1 (x)。满足条件(所以2)(x满足压缩映像原理。在故2 , 1 1)x(3x例题n若取迭代函数 , 不满足压缩映像原理,故不能肯定 收敛到方程的根。 1)x(3 x2 , 1 3|3| )(|2xxx因为,.1 , 0)(1nxxnn简单迭代收敛情况的几何解释 是否取到合适的初值,是否构造合适的迭代格式,对于是否收敛是关键的。对于初值,实际操作时,可以先画出函数图形,然后,观察根大概在什么地方。对于迭代格式,可以对 求导,看看 是否小于1( x)/0()x n迭代法收敛的阶迭代法收敛的阶 定义定义 设序列 收敛到 ,若有实数 和非零常数C,使得 其中, ,则称该序列是
9、p 阶收敛的,0nx*x1pCeepnnn1lim*xxenn迭代法收敛的阶迭代法收敛的阶当p=1时,称为线性收敛;当p1时,称为超线性收敛;当p=2时,称为平方收敛或二次收敛。n误差估计 n若 满足定理条件,则n )(xx1L|1Lkkkxxxx0L|1 Lkkkxxxx*/11110( )LL,LkkkkkkkkLxxxxxxxxx是根附近(x的某邻域)上的最大值,实际中,我们可以如下估计 及 ,L下面定理给出判别迭代收敛阶的一个方法n定理: 记 是 的根, ,设 在 附近连续,若对 ,有则基本迭代法 是P阶连续的。( )xx*()xx( )( )px*x1p /*/*(1)*( )*()
10、()()0,()0,ppxxxx1()kkxx*x基本迭代法的matlab实现nfunction k,piancha,xk=diedai1(x0,k)n% 输入的量-x0是初始值,k是迭代次数nx(1)=x0; nfor i=1:kn x(i+1)=fun1(x(i);%程序中调用的fun1.m为函数y=(x) n piancha= abs(x(i+1)-x(i); ni=i+1;xk=x(i);(i-1) piancha xknendMatlab中与或非,分别是:& | 与或非 nif (piancha 1)&(k3)n disp(请用户注意:此迭代序列发散,请重新输入新的迭
11、代公式)n return;n endn if (piancha 3)n disp(祝贺您!此迭代序列收敛,且收敛速度较快)n return;n endnp=(i-1) piancha xk;关于程序里面的fun1,可以如下类似定义nfunction y1=fun1(x) y1=(10-x2)/2;作业: 1. 编程求方程 在区间(1,2)内的实根。2. 习题4.4(P104) 01)(3xxxf4.3 Newton迭代法n设x * 是方程f (x ) = 0的根,又x0 为x * 附近的一个值 ,将f (x ) 在x0附近做泰勒展式 令 ,则 之间和在其中020000)()(21)()()()