数值分析第7章非线性方程与方程组的数值解法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数值分析第7章非线性方程与方程组的数值解法课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 非线性 方程 方程组 解法 课件
- 资源描述:
-
1、第第7 7章章 非线性方程与方程组的数值解法非线性方程与方程组的数值解法7.1 方程求根与二分法 7.2 不动点迭代法及其收敛性 7.3 迭代收敛的加速方法 7.4 牛顿法 7.5 弦截法与抛物线法 7.6 求根问题的敏感性与多项式的零点7.7 非线性方程组的数值解法7.1 方程求根与二分法方程求根与二分法 7.1.1 引言引言0)(xf(1.1)本章主要讨论求解单变量非线性方程 其中 也可以是无穷区间.,)(,RbabaCxfx 如果实数 满足 ,则称 是方程(1.1)的根根,或称 是 的零点零点.*x)(xf0*)(xf*x*x若 可分解为)(xf),(*)()(xgxxxfm其中 为正整
2、数,且 则称 为方程(1.1)的 重根重根,或 为 的 重零点重零点,时为单根单根.m.0*)(xg1m*xm 若 是 的 重零点,且 充分光滑,则*x)(xfm)(xg,0*)(*)(*)()1(xfxfxfm.0*)()(xfm*x)(xfm 如果函数 是多项式函数,即),0()(01110aaxaxaxaxfnnnn(1.2)其中 为实数,则称方程(1.1)为 次代数方程次代数方程.),1,0(,00niaai)(xfn它在整个 轴上有无穷多个解,若 取值范围不同,解也不同,因此讨论非线性方程(1.1)的求解必须强调 的定义域,即 的求解区间5n 时的求根公式是熟知的,时的求根公式可在数
3、学手册中查到,但比较复杂不适合数值计算,当 时就不能用公式表示方程的根,所以 时求根仍用一般的数值方法2,1n4,3n 根据代数基本定理可知,次方程在复数域有且只有 个根(含重根,重根为 个根).,010sine10/xxmmnn3nx 另一类是超越方程,例如xxx.,ba 迭代法要求先给出根 的一个近似,若 且 ,根据连续函数性质可知 在 内至少有一个实根,这时称 为方程(1.1)的有根区间.非线性问题一般不存在直接的求解公式,故没有直接方法求解,都要使用迭代法.*x,)(baCxf0)()(bfaf0)(xf),(ba,ba 通常可通过逐次搜索法求得方程 的有根区间.0)(xf 例例1 1
4、 求方程 的有根区间.解解 根据有根区间定义,对 的根进行搜索计算,结果如下:0)(xf077.418.381.11)(23xxxxf的符号)(6543210 1-7表xfx计算结果由此可知方程的有根区间为.6,5,4,3,2,1 检查 与 是否同号,如果同号,说明所求的根 在 的右侧,这时令否则 必在 的左侧,这时令见图7-1.*x0 x 考察有根区间 ,取中点 将它分为两半,,ba2/)(0bax 7.1.2 二分法二分法假设中点 不是 的零点,然后进行根的搜索.0 x)(xf)(0 xf)(af*x0 x,01xa;1bb,1aa.01xb 图7-1 不管出现哪一种情况,新的有根区间 的
5、长度仅为 的一半.,11ba,ba 对压缩了的有根区间 又可施行同样的手续,即用中点 将区间 再分为两半,然后通过根的搜索判定所求的根在 的哪一侧,从而又确定一个新的有根区间 ,其长度是 的一半.2/)(111bax,11ba,11ba1x,22ba,11ba 如此反复二分下去,即可得出一系列有根区间,2211kkbabababa其中每个区间都是前一个区间的一半,因此 的长度 ,kkbakkkabab2/)(当 时趋于零.k 就是说,如果二分过程无限地继续下去,这些区间最终必收缩于一点 ,该点显然就是所求的根.*x作为根的近似,则在二分过程中可以获得一个近似根的序列 ,210kxxxx该序列必
6、以根 为极限.*x 每次二分后,设取有根区间 的中点,kkba2/)(kkkbax 由于 2/)(*kkkabxx只要二分足够多次(即 充分大),便有 k,*kxx这里 为预定的精度.(1.3),2/)(1kab 例例2 2 求方程 01)(3xxxf在区间 内的一个实根,要求准确到小数点后第2位.5.1,0.1 解解 这里 ,而5.1,0.1ba 取 的中点 ,将区间二等分,由于 ,即 与 同号,故所求的根 必在 右侧,这时应令 ,而得到新的有根区间,ba25.10 x0)(0 xf)(0 xf)(af*x0 x5.1,25.1101bbxa 如此反复二分下去,按误差估计(1.3)式,欲使0
7、)(,0)(bfaf.,11ba(1.3),2/)(*1kkabxx只需 ,即只要二分6次,便能达到预定的精度.6k2/)(*kkkabxx12/)(kab,005.021211k 计算结果如表7-2.3242.13203.063203.13281.153281.13438.143438.13125.133125.1375.12375.125.1125.15.10.10符号)(27kkkkxfxbak表 二分法是计算机上的一种常用算法,计算步骤为:步骤步骤1 1 准备准备 计算 在有根区间 端点处的值)(xf).(),(bfaf,ba 步骤步骤2 2 二分二分 计算 在区间中点 处的值 )(x
8、f2ba).2(baf 步骤步骤3 3 判断判断 若 ,则 即是根,计算过程结束,否则检验.0)2(baf2ba 若 ,则以 代替 ,否则以0)()2(afbaf2ba b代替 .2ba a此时中点 即为所求近似根.2ba 误差 ,反复执行步骤2和步骤3,直到区间 长度小于允许,ba7.2 不动点迭代法及其收敛性不动点迭代法及其收敛性 7.2.1 不动点与不动点迭代法不动点与不动点迭代法 将方程(1.1)改写成等价的形式).(xx(2.1)若 满足 ,则 ;反之亦然,称为函数 的一个不动点不动点.*x0*)(xf*)(*xx*x)(x 求 的零点就等价于求 的不动点.)(xf)(x 选择一个初
9、始近似值 ,将它代入(2.1)右端,即可求得0 x).(01xx0)(xf(1.1)如此反复迭代计算).,1,0()(1kxxkk(2.2)称为迭代函数.)(x 如果对任何 ,由(2.2)得到的序列 有极限,0bax kx.*limxxkk则称迭代方程(2.2)收敛,且 为 的不动点,故称(2.2)为不动点迭代法不动点迭代法.*)(*xx)(x 方程 的求根问题在 平面上就是要确定曲线 与直线 的交点)(xxxy)(xyxy.*P 对于 的某个近似值 ,在曲线 上可确定一点 ,它以 为横坐标,而纵坐标则等于*x0 x)(xy0P0 x.)(10 xx 就是说,迭代过程实质上是一个逐步显示化的过
10、程.过 引平行 轴的直线,设此直线交直线 于点 ,0Pxxy 1Q然后过 再作平行于 轴的直线,1Qy与曲线 的交点)(xy 上述迭代法是一种逐次逼近法,其基本思想是将隐式方程 归结为一组显式的计算公式 .)(xx)(1kkxx则点 的横坐标为 ,1P1x图7-21P记作 ,.)(21xx纵坐标则等于 按图7-2中箭头所示的路径继续做下去.在曲线 上得到点列,)(xy21,PP其横坐标分别为 例例3 3 求方程 01)(3xxxf(2.3)在 附近的根 5.10 x.*x 解解 设将方程(2.3)改写成下列形式 .13xx依公式 求得的迭代值)(1kkxx.,21xx 如果点列 趋向于点 ,则
11、相应的迭代值 收敛到所求的根 kP*Pkx.*x据此建立迭代公式 32494.1432472.1832588.1332472.1733086.1232473.1635721.1132476.155.1037表kkxkxk).,2,1,0(131kxxkk各步迭代的结果见表7-3.这时可以认为 实际上已满足方程(2.3),即为所求的根.7x 如果仅取6位数字,那么结果 与 完全相同,7x8x01)(3xxxf(2.3)但若采用方程(2.3)的另一种等价形式13 xx建立迭代公式.131kkxx仍取迭代初值 ,则有 5.10 x.39.12,375.221xx结果会越来越大,不可能趋于某个极限.这
12、种不收敛的迭代过程称作是发散发散的.如图7-3.一个发散的迭代过程,纵使进行了千百次迭代,其结果也是毫无价值的.图7-3 7.2.2 不动点的存在性与迭代法的收敛性不动点的存在性与迭代法的收敛性 首先考察 在 上不动点的存在唯一性.,ba)(x 定理定理1 1 设 满足以下两个条件:,)(baCx 1.对任意 有 ,bax bxa)(2.存在正常数 ,使对任意 都有 1L,bayx.)()(yxLyx(2.4)则 在 上存在唯一的不动点)(x,ba.*x 因 ,bxa)(以下设 及 ,aa)(bb)(若 或 ,则不动点为 或 ,aa)(bb)(ab存在性得证.定义函数.)()(xxxf显然 ,
13、,)(baCxf,0)()(aaaf由连续函数性质可知存在 ,),(*bax*),(*xx且满足,0)()(bbbf使 ,0*)(xf即即为 的不动点.)(x*x 证明证明 先证不动点存在性.再证唯一性.设 都是 的不动点,,21baxx)(x)()(2121xxxx引出矛盾.故 的不动点只能是唯一的.)(x则由(2.4)得.2121xxxxL.)()(yxLyx(2.4).1*01xxLLxxkk(2.5)定理定理2 2 设 满足定理1中的两个条件,则对任意 ,由(2.2)得到的迭代序列 收敛到 的不动点 ,并有误差估计 ,)(baCx,0baxkx)(x*x 证明证明 设 是 在 上的唯一
14、不动点,由条件,可知 ,再由(2.4)得,ba,*bax)(x,baxk*)()(*1xxxxkk因 ,故当 时序列 收敛到 .10 Lkkx*x*1xxLk.*0 xxLk.)()(yxLyx(2.4)).,1,0()(1kxxkk(2.2)再证明估计式(2.5),)()(11kkkkxxxx由(2.4)有(2.6).1kkxxL反复递推得.011xxLxxkkk于是对任意正整数 有pkkpkpkpkpkkpkxxxxxxxx12110121)(xxLLLkpkpk.101xxLLk.1*01xxLLxxkk(2.5).)()(yxLyx(2.4)在上式令 ,注意到 即得式(2.5).p*l
15、imxxpkp 迭代过程是个极限过程.在用迭代法实际计算时,必须按精度要求控制迭代次数.原则上可以用误差估计式(2.5)确定迭代次数,但由于它含有信息 而不便于实际应用.L 根据式(2.6),对任意正整数 有 pkkppkpkxxLLxx121)1(.111kkxxL在上式中令 知 p)()(11kkkkxxxx(2.6).1kkxxL.1*01xxLLxxkk(2.5).11*1kkkxxLxx 由此可见,只要相邻两次计算结果的偏差 kkxx1足够小即可保证近似值 具有足够精度.kx 对定理1和定理2中的条件2,如果且对任意 有,bax,1)(Lx(2.7)则由中值定理可知对 有,bayx)
16、()()(yxyx表明定理中的条件2可用(2.7)代替.,)(1baCx).,(,bayxL 例3中,当 时,,在区间 中,故(2.7)成立.31)(xx3/2)1(31)(xx2,114131)(3/1 x 又因 ,故定理1中条件1也成立.所以迭代法是收敛的.23)(2133x 而当 时,在区间 中 不满足定理条件.1)(3 xx23)(xx2,11)(x,1)(Lx(2.7)7.2.3 局部收敛性与收敛阶局部收敛性与收敛阶 上面给出了迭代序列 在区间 上的收敛性,kx,ba 定理的条件有时不易检验,实际应用时通常只在不动点 的邻近考察其收敛性,即局部收敛性.*x 定义定义1 1 设 有不动
17、点 ,如果存在 的某个邻域 对任意 ,迭代(2.2)产生的序列 且收敛到 ,则称迭代法(2.2)局部收敛局部收敛.)(x*x,*:xxRRx 0,Rxk通常称为全局收敛性.*x*x).,1,0()(1kxxkk(2.2)证明证明 由连续函数的性质,存在 的某个邻域 使对于任意 成立*x,*:xxRRx.1)(Lx 定理定理3 3 设 为 的不动点,在 的某个邻域连续,且 ,则迭代法(2.2)局部收敛.*x)(x)(x*x1*)(x此外,对于任意 ,Rx 总有 ,Rx)(*)()(*)(xxxx于是依据定理2可以断定迭代过程 对于任意初值 均收敛.)(1kkxxRx 0这是因为*xxL.*xx)
18、.,1,0()(1kxxkk(2.2)讨论迭代序列的收敛速度.例例4 4 用不同方法求方程 的根 032x.3*x 解解 这里 ,可改写为各种不同的等价形式 其不动点为 由此构造不同的迭代法:3)(2 xxf),(xx,3)1(21kkkxxx.3*x,12)(xx.1132)3(*)(x,3)(2xxx,3)2(1kkxx,3)(xx,3)(2xx.1*)(x),3(41)3(21kkkxxx),3(41)(2xxx),3(21)4(1kkkxxx取 ,对上述4种迭代法,计算三步所得的结果如下表.20 x,211)(xx.1134.0231*)(x),3(21)(xxx),31(21)(2x
19、x.0)3(*)(x732051.1732361.15.1873732143.173475.129275.175.15.13122220迭代法迭代法迭代法迭代法计算结果4表73210 xxxxxkk(4)(3)(2)(1)从计算结果看到迭代法(1)及(2)均不收敛,且它们均不满足定理3中的局部收敛条件.注意 .7320508.13 0*)(x 迭代法(3)和(4)均满足局部收敛条件,且迭代法(4)比(3)收敛快,因在迭代法(4)中 .定义定义2 2 设迭代过程 收敛于方程的根 ,如果迭代误差 当 时成立下列渐近关系式),0常数(1CCeepkk则称该迭代过程是 阶收敛阶收敛的.p 特别地,时称
20、线性收敛线性收敛,)1(1Cp)(1kkxx)(xx*x*xxekkk1p时称超线性收敛超线性收敛,2p时称平方收敛平方收敛.定理定理4 4 对于迭代过程 ,如果 在所求根 的邻近连续,并且 )(1kkxx)()(xp*x,0*)(*)(*)()1(xxxp则该迭代过程在点 邻近是 阶收敛的.*xp(2.8),0*)(xp 证明证明 由于 ,据定理3立即可以断定迭代过程 具有局部收敛性.0*)(x)(1kkxx 再将 在根 处做泰勒展开,利用条件(2.8),)(kx*x.之 间*与在,*)(!)(*)()()(xxxxpxxkpkpk则有 注意到 ,*)(,)(1xxxxkk,*)(!)(*)
21、(1pkpkxxpxx因此对迭代误差,当 时有 k.!*)()(1pxeeppkk(2.9)这表明迭代过程 确实为 阶收敛.)(1kkxxp由上式得 上述定理说明,迭代过程的收敛速度依赖于迭代函数 的选取.)(x 如果当 时 ,则该迭代过程只可能是线性收敛.,bax 0)(x 在例4中,迭代法(3)的 ,故它只是线性收敛.0*)(x 而迭代法(4)的 ,而 由定理4知 ,该迭代过程为2阶收敛.0*)(x.032*)(x2p,6)(3xx 7.3 迭代收敛的加速方法迭代收敛的加速方法 7.3.1 埃特金加速收敛方法埃特金加速收敛方法 设 是根 的某个近似值,用迭代公式迭代一次得 0 x*x)(0
22、1xx由微分中值定理,有*)()(*01xxxx其中 介于 与 之间.0 x*x 假定 改变不大,近似地取某个近似值 ,)(xL*).(*01xxLxx(3.1)*),)(0 xx 则有),(12xx由于*),(*12xxLxx将它与(3.1)式联立,消去未知的 ,L.*1021xxxxxxxx由此推知 01221202*xxxxxxx 在计算了 及 之后,可用上式右端作为 的新近似,记作 .1x2x*x1x若将校正值 再迭代一次,又得)(01xx有.2)(0122010 xxxxxx*).(*01xxLxx(3.1)一般情形是由 计算 ,kx21,kkxxkkkkkkkxxxxxxx1221
23、12)(3.2)称为埃特金(Aitken)加速方法.可以证明.0*lim1xxxxkkk它表明序列 的收敛速度比 的收敛速度快.kxkx(3.2)).,1,0(/)(22kxxxkkk记 2 7.3.2 斯蒂芬森迭代法斯蒂芬森迭代法 埃特金方法不管原序列 是怎样产生的,对 进行加速计算,得到序列 .kxkxkx 如果把埃特金加速技巧与不动点迭代结合,则可得到如下的迭代法:),(kkxy称为斯蒂芬森(Steffensen)迭代法.),(kKyz(3.3)).,1,0(2)(21kxyzxyxxkkkkkkk 它的理解为,要求 的根 ,)(xx*x,)()(xxx,0*)(*)(xxx已知 的近似
24、值 及 ,其误差分别为*xkxky,)()(kkkkkxyxxx.)()(kkkkkyzyyy 过 及 两点做线性插值函数.)(,(kkxx)(,(kkyy它与 轴交点就是(3.3)中的 ,即方程 x1kx0)()()()(kkkkkkxxxyxyx的解 令(3.3)).,1,0(2)(21kxyzxyxxkkkkkkk),(kkxy),(kKyz)()()()(kkkkkkxyxyxxx 实际上(3.3)是将不动点迭代法(2.2)计算两步合并成一步得到的,可将它写成另一种不动点迭代),1,0()(1kxxkk(3.4)kkkkkkxyzxyx2)(2.1kx其中.)(2)()()(2xxxx
25、xxx(3.5)).,1,0()(1kxxkk(2.2)(3.3)).,1,0(2)(21kxyzxyxxkkkkkkk),(kkxy),(kKyz 定理定理5 5 若 为(3.5)定义的迭代函数 的不动点,则 为 的不动点.反之,若 为 的不动点,设 存在,则 是 的不动点,且斯蒂芬森迭代法(3.3)是2阶收敛的.*x)(x*x)(x*x)(x)(x 1*)(x*x)(x 解解 例3中已指出,下列迭代 131kkxx是发散的,现用(3.3)计算,取 .1)(3 xx 例例5 5 用斯蒂芬森迭代法求解方程 .01)(3xxxf计算结果如下表.)(2)()()(2xxxxxxx(3.5)(3.3
展开阅读全文