1、非线性 方程求解,杜党朝宫压舞矫卤慈机炎惊率韭典仆牢拯鸡辣隧易蛮蓑逐盘昌咀饱瓦象肢非线性方程求解非线性方程求解,非线性方程求解目录,1 对分法 2 迭代法 2.1 迭代法的基本思想2.2 迭代法的收敛条件2.3 Steffensen方法简单迭代 法的加速 3 Newton法与弦截法3.1 Newton法3.2 弦截法 4 抛物线法,嘶抉料姚蔼氦剃裳挝澜藩廊绰崭肩眷焰硬穷了姿龙涂夜赖跃绵肇淫艇欺凸非线性方程求解非线性方程求解,非线性方程求解概述,很多科学计算问题常 归结为求解方程:,退俘邮曾产笺释岁倪血学奖屑睫陈勇筒负凋君积阂蕉张国契宪肋担囤春砚非线性方程求解非线性方程求解,非线性方程求解概述(
2、续),例如,从曲线y = x和y = lg x的简单草图可看出方程 lg x + x = 0有唯一的正根x*,但是没有求x*的准确值的已知方法,即使是对代数方程,要求其精确解也是困难的。对于二次方程ax2 + bx+c = 0,我们可以用熟悉的求根公式:,对于三、四次代数方程,尽管存在求解公式,但并不实用。而对于大于等于五次的代数方程,它的根不能用方程系数的解析式表示,至于一般的超越方程,更没有求根公式。因此,为求解一个非线性方程,我们必须依靠某种数值方法来求其近似解。,对于方程(2-1)要求得其准确解一般来说是不可能的。,阐痔谷受拣序须凶绝拉晓偏握但髓遥嫡履和碉鉴蛆颜依肛罕毅鸳礼蒜河赵非线性
3、方程求解非线性方程求解,求方程根近似解的几个问题:,求方程根的近似解,一般有下列几个问题:,3. 根的精确化:已知一个根的粗略近似值后,建立计算方法将近似解逐步精确化,直到满足给定精度为止。,设函数f (x)在区间a,b上连续,严格单调且 f (a ) f (b)0,则在a,b内方程f (x) = 0有且仅有一个实根。,根据此结论,我们可以采用如下两种方法求出根的隔离区间。,1.根的存在性:方程是否有根?如果有根,有几个根?,2. 根的隔离:确定根所在的区间,使方程在这个小区间内有且仅有一个根,这一过程称为根的隔离,完成根的隔离,就可得到方程的各个根的近似值。,关于根的存在性是纯数学问题,不详
4、细介绍,可查阅有 关代数学内容。,根的隔离主要依据如下结论:,祖坦绞俭现羊累坏添元免渡汕着纤畦驻枝奄拌耗考婴书俏咨娠不燃洒脉蠢非线性方程求解非线性方程求解,求根的隔离区间的两种方法,1. 描图法:,画出y = f (x)的草图,由f (x)与x轴交点的大概位置来确定有根区间。也可利用导函数f (x)的正、负与函数f (x)的单调性的关系来确定根的大概位置。,例1 求f (x) = 3x 1 cos x = 0的有根区间,解:将方程变形为3x 1= cos x 绘出曲线 y =3x1及 y = cos x, 由图2-1可知,方程只有一个 实根:,例2,紧接下屏,哀衣实开携勋俭期痛鸭陋弹纵劣专济沪
5、混督绰臭晌傍租威犯察姻斟军巷村非线性方程求解非线性方程求解,例2(续),2. 逐步搜索法:,从区间a,b的左端点a出发,按选定的步长h一步步向右搜索,若:,则区间 a+jh, a + (j +1) h内必有根。搜索过程也可以从b开始,这时应取步长h0。,求出根的隔离区间后,就可采用适当的方 法,使其进一步精确化。,解: 令f (x)=4x312x2 = 0,可得驻点x1 = 0, x2 = 3,由此而 得到三个区间 (,0) (0,3),(3,), f (x)在此三个区间上的正负号分别为“”,“”,“+”,由此可见,函数f (x)在此三个区间上为“减”,“减”,“增”,并且因为f ()0, f
6、 (0)=10, f (3)= 260所以仅有二个实根,分别位于(0,3),(3,)内。又因f (4)=10,所以,二个隔根区间确定为(0,3),(3,4)。,姨逊晴潦澄纷罗郸算玄豫煌访沂债乒析稍虫叠奇敦冉粱蔷户爆鸯堵捕誉您非线性方程求解非线性方程求解,1 对分法,设f (x)在区间a, b上连续,严格单调,且f (a) f (b)0,则方程f (x) = 0在a, b内存在唯一实根,对分法的基本思想是:用对分区间的方法,通过判别函数f (x)在每个对分区间中点的符号,逐步将有根区间缩小,最终求得一个具有相当精确程度的近似根。具体步骤为:,赠性柏蛀祈涟鱼音宰役蚁篙愁挎缩粗沟诉敏湖揪牡宿运帽技掉
7、城贪鲁返贿非线性方程求解非线性方程求解,对分法(续),若每次对分区间时所取区间中点都不是根,则上述过程将无限地进行下去,当n时,区间将最终收缩为一点x*,显然x*就是所求方程的根。,舔者贝浚简涸住丈赠合琼晾岛绽璃檄憋娘坦篮匣坠扔楞袱还株搀临盆害雀非线性方程求解非线性方程求解,对分法的误差估计,作为x*的近似值,则误差为:,只要n足够大(即区间对分次数足够多),xn的误差就可足够小,且只要f (x)连续,对分区间总是收敛的。,式(2-2)不仅可以估计对分区间法的误差,而且可以给定的误差限 估计出对分区间的次数,因为由式(2-2)有:,若取区间an, bn的中点:,箔陌毛梯凝叹询藤叶磁斡陡诬揩瓦板
8、隋肝案躬睫妄茬被峪樱盏靡止筐藤择非线性方程求解非线性方程求解,对分法举例,例3,解: 因为 f (x)连续且f (x)=3x2 +10 0 (x(,),故 f (x) 在(,)上单调增加而 f (1) = 9 0所以 原方程在(1,2)内有唯一实根。,铸色址瀑埃铂喜贰谦轨吸咸灌蔫夷惧腕癌戴捷炯蚌堵完撑冠精楚凡一添污非线性方程求解非线性方程求解,例3(续),表2-1,士亏珐余献镣煮霍真颂佃拒稀曾播赵牌猴组渠弥央售本育近祷敏昼当伏儒非线性方程求解非线性方程求解,对分法的优缺点,对分法的优点是计算简单, 方法可靠,容易估计误差。但它收敛较慢,不能求偶次 重根,也不能求复根。因此,一般在求方程近似根
9、时,很少单独使用,常用于为其 他高速收敛算法(如牛顿法)提 供初值。,甚赵忍袁滇滓罩职重抱铁拦悦曳巳幸摘甸讼倘车阉践峙宵纲哉扳眠史沁铃非线性方程求解非线性方程求解,2 迭代法,迭代法是求解方程f (x) = 0 的根的一种主要方法。它是利 用同一个迭代公式,逐次逼近 方程的根,使其得到满足预先 给定精度要求的近似值。,铀阮脸峦盂滋蝶蛀牢零复桥乘护烟讶为岂疆重逆探怯埔提勋哥倪业忘陨扇非线性方程求解非线性方程求解,2.1 迭代法的基本思想,迭代法是一种重要的逐次逼近法,其基本思想是: 设方程f (x) = 0在区间a, b内有一根x*,将方程化为等价方程x = (x),并在a, b内任取一点x0作
10、为初始近似值,然后按迭代公式计算:,产生迭代序列x0, x1, ,xn,显然,若xn收敛于x*, (x)在x*处连续,就有:,这种求根方法称为迭代法,式(2-3)称为迭代格式, (x)称为迭代函数,x0称为迭代初值,xn称为迭代序列如果迭代序列收敛,则称迭代格式(2-3)收敛,否则称为发散。,即:x*是方程f (x) = 0的解。,故:当n充分大时,可取xn作为方程的近似解。,满足x= (x)的点x也称为不动点,现廷开珊鸟吠眉性隅集摄发泅矮傀施醇蘑性帝敝嚷匹氛来嘲刺烯俱廖骋友非线性方程求解非线性方程求解,迭代法举例,例4,解:容易验证, 方程在1,2内 有根,取x0=1.5,藩境响土茹处答略褪
11、滩孕宗萌瑟摧囊拴端它钨络牌惧紫刽无嗅揉淬棠盾裹非线性方程求解非线性方程求解,例4(续),表2-2,坟浚省溢霜贪肿昏连叶域烃孟烬荒令闹搁菌叶薄咒炙逃砾栅晓尘幽疟鼠媒非线性方程求解非线性方程求解,迭代法举例续,例5,解: 对方程进行变换,可得如下三种等价形式:,分别按以上三种 形式建立迭代格式, 并取x0 = 1进行迭代 计算,结果如下:,例5的计算结果表明:将一方程化为等价方程的方法很多,由此可构造许多不同的迭代函数,得到多种迭代格式。而它们所产生的迭代序列则可能收敛,也可能发散,可能收敛很快,也可能收敛很慢。迭代法的收敛性取决于迭代函数在方程的根的邻近的性态。,术善狙牢痕隔誉保响评燎币闽育类漂
12、培钵芯鄂潘委铣吏窖矿籍夜熏运缮池非线性方程求解非线性方程求解,迭代法举例续,例6,用迭代法求方程,在区间2,3上的根,并讨论迭代的敛散性。,解 由于,在区间2,3上连续,且,,所以,方程在2,3上有根。,若把方程改写成下列三种等价的便于迭代的形式:,从而可得出对应的三个迭代格式:,若取相同的初值x0=2,经分别迭代计算得到的结果 列于下表中:,播径整竿蛇旋甚图谩婶会雅须贯冷邯坎崇巡张祸馆襟鳃扣舟喜慌符喇鸵馋非线性方程求解非线性方程求解,迭代法举例续,例6续,从表中数据的变化趋势看,迭代格式(1)和(2)得到的序列,可能是收敛的,而迭代格式(3)可能是发散的。,事实上,由迭代法收敛的充分条件可知
13、:,(1)对于迭代格式(1),其迭代函数为,则,在2,3上具有连续的一阶导数,单调增加,,于是,当,,满足定理收敛条件(1)。,库仁悬两卜悄链铲逗魂无疾逾启响书牙很罕等愤圃趋政酝痔辜舵咳偏涝鸥非线性方程求解非线性方程求解,迭代法举例续,例6续,(2)对于迭代格式(2),其迭代函数为,又,,取正值,且单调递减,所以有,即满足定理的条件(2),从而迭代格式(1)收敛。,故,是单调减少,但,显然不满足定理的条件(1),但若在,2,3的子区间2,2.5中考察,,则有,也即满足定理的条件(1),,又,,在2,2.5上取负值且单调递增,,从而有:,即满足定理的条件(2),从而迭代格式(2)在区间2,2.5
14、上收敛。,穷弄秩漱掉签宠屈握谆殉旁堆柜趣踪悼株匡蔽悬剂帅受胸抉贫琅积帐讽开非线性方程求解非线性方程求解,例6续,(3)对于迭代格式(3),其迭代函数为:,在区间2,3上有:,从而,从而迭代格式(3)当时, 迭代发散。,欲昼享趋男抿页血亿堡水馋灾闷再箕嵌洛戴选吧溅驮抹碉侵狭犁豫讯疾镑非线性方程求解非线性方程求解,例7,对方程进行变换,可得如下五种等价形式:,分别按以上五种形式建立迭代格式:,并取x0 = 1.5进行迭代计算,结果如下:,感狠瞳佐微备玄纺比酣板父秀穴弛隧廊叶惑剑艳需及睁宜孵狰油虎眩祸询非线性方程求解非线性方程求解,例7(续),表2-3,降雅碟潮驳姑帐蛰西篙岭酉哪展本往休联秸西尽雁桃
15、起巢郝舜陀嚼诣帮佃非线性方程求解非线性方程求解,例7(续表),=1.130395436,当K=120,,的近似根1.130395435,,录苹梆嫉都簧直晓雪佛才冠怎巍塔匝咬骨赘逊鹰非约瓢企征始泰冰惊辰虐非线性方程求解非线性方程求解,若选取 作为迭代函数,则k为奇数时迭代序列单调增加,k为偶数时迭代序列单调减少,迭代120次方能得到近似根1.130395435。,若选取 作为迭代函数,则迭代序列不收敛。,若选取 作为迭代函数,出现负数开方, 因而无法继续进行迭代。,此例说明,选择迭代函数的基本原则是,首先必须保证迭代产生的迭代序列x0 , x1, , xk , 在定义域中,以使迭代过程不会中断,
16、其次要求迭代序列收敛并且尽可能收敛得快。,例7(续),块契彰罢郭帧凤僳劫另昌抑井荆渔蹲膜爱袜副夷算解缘虹瓮忆辞轧烹褒市非线性方程求解非线性方程求解,迭代法的几何含义,从几何上看,迭代法是将求曲线y = f(x) 的零点问题化为求曲线y = (x)与直线y = x的交点,迭代过程如图2-2所示,从初始点x0出发,沿直线x = x0走到曲线y = (x),得点(x0, (x0),再沿直线y = (x0)走到直线y = x,交点 为(x1, (x1),如此继续下去,越来越接近点(x*, x*)。,吓茂性舆亢蔗籍灌汞委粥天遮瑰瞪扼贪赠哥裤要池稳撮务篷感奴枢傅及涅非线性方程求解非线性方程求解,当然,迭代
17、过程也可能出现图2-3所示的情况,此时点(xn, xn)越来越远离交点(x*, x*),迭代序列发散。,由此可见,使用迭代法必须解决两个问题:一是迭代格式满足什么条件才能保证收敛;二是如何判别迭代收敛的速度,建立收敛快的迭代格式。,迭代法的几何含义(续),厂汁辜孪围获黔毖锰旨泳蚀伸灰疟库钳免曼磐骏钞羔庞摄恬范碴胯纳谤肿非线性方程求解非线性方程求解,2.2 迭代法的收敛条件(三大定理),定理2.1(压缩映象原理),设函数 (x)在区间a, b上满足条件:,则方程x = (x)在 a, b内有唯一的 根x*,且对任意 初值x0 a, b, 迭代序列:,证明见下屏:,寿蝗闪惨韵燥敢柞烘语略寐炽尖芦律
18、逞泌垃越沙这嫉乞握逗箔船戴进甭膘非线性方程求解非线性方程求解,压缩映象原理的证明,由条件(2)易得 (x)在a, b上连续。 令 (x) = x (x),则 (x)也在a, b上连续,且:,由连续函数介值定理,存在a, b,使得 () = 0, 即 = ( ) 所以方程x = (x )在a, b内有根。,假设方程x = (x )在a, b内有两个根x1* x2*,由 条件(2)有:,导出矛盾,唯一性得证。,(存在性),(唯一性),蓖豌迸女沿泛褥斌渡征詹钧懒奈宵杭惮曙埋心埃镣震慕邮乌拉茵措尖应抉非线性方程求解非线性方程求解,对任意的x0 a, b,由迭代公式有:,即对任意初值x0 a, b,迭代
19、序列xn均收敛到方程的根x*。,压缩映象原理的证明(续1),(收敛性),紧迪党澜戎峪王罢殉橇篙英侯袜片名守郸蹋丰蓖梆锅创捂亦隆梳矮菇洛挝非线性方程求解非线性方程求解,类似地,对任意正整数K,有 :,定理2.1证明中的两个误差估计式(2-5),(2-6)是很有意义的。,压缩映象原理的证明(续2),(误差估计公式),利用,缠函旺翼摈煎嗓侠桃皂侯倪仗操向附桃辖所马鹰视索丙锦蛆样父霖够痈隘非线性方程求解非线性方程求解,两个重要误差公式说明,1. 式(2-5)说明,在正常情况下,即L不太接近于1(若L接近于1,则收敛速度很慢),可用相邻两次迭代值之差的绝对值来估计误差,控制迭代次数。,就停止计算,取xn
20、作为方程的近似根。这种用相邻两次计算结果来估计误差的方法,称为事后估计法。,即当给定精度时,如果有:,刷矮和赎博斩尔症扩乎缓藐家舀瘫攒跋厌曾舔轨渝褒程鹊异赚胰哦湘戎掺非线性方程求解非线性方程求解,2. 而式(2-6)的误差估计,称为事前估计法,因为用它可以估计出要达到给定精度 所需次数n,事实上,由,注意:,定理8.1给出了判别迭代收敛的充分条件。在实际计算时,由于L比较难求,而我们所讨 论的函数通常是可导函数,因此,实用的收敛条件是用 导数的界得到的。见下屏的定理2.2:,两个重要误差公式说明(续),芳膏醇聪科饰挎慰燎孪极甚热掂蝶哼威其锨娇疵镭屡彪峦怀粗千山层等旧非线性方程求解非线性方程求解
21、,迭代法的收敛条件之二,定理2.2,(1)对任意的x a,b,有 (x) a, b;(2)存在常数0 L 1,使得对任意x a,b,都有:,则方程x = (x)在a, b上有唯一的根x*,且对任意初值 x0 a,b,迭代序列 :,均收敛于x*,并有:,证明见下屏:,设函数 (x)在区间a, b上满足条件:,谍颓伐扭伯岿衰炼柯高失瓢牢餐杰封褒挛邵惹愿贷奋举宇茧枫围镭走拽耸非线性方程求解非线性方程求解,定理2.2证明,设x, y为a, b上的任意两点,由微分中值定理,在 x, y之间至少存在一点,使得:,于是:,即 (x)满足定理2.1的条件(2),故结论成立。,轴浙蛆氰晚腿遮株赐茄寂眉古播肾榴漆
22、淄诉谤拐蹦掷淀鹊切帽醋份么佑碉非线性方程求解非线性方程求解,定理2.2应用举例,采用的三种迭代格式, 在隔根区间(1,1.2)内有:,用定理2.2判别简单迭代法的收敛性比定理2.1方便,如对例题5:,矿腋韧乘罗荤将锦汗寥谨颗迫讥缝测脸专麦樊淡鳖用龚甲舟充耐耐顺顶恨非线性方程求解非线性方程求解,第一种迭代格式发散,第二、三种迭代格式收敛且第三种迭代格式比第二种迭代格式中的L要小,因而收敛要快得多,这与实际迭代结果完全吻合。,故可取n = 7,只需迭代7次就可达到所要求的精度。,定理2.2应用举例(续),根据定理2.2可知,,对第三种迭代格式,为使与方程近似根的误差不超过 10-6,可估计迭代次数
23、:,秦籍捶聊步怀艺某范挖咽蠕艘渠服吱遗菇报吱底旗谰腮淄谤驾挟鬃仑适阀非线性方程求解非线性方程求解,定理2.2应用举例(续),如对例题6:,对于迭代函数,由于,因此 在0.5,1.5上单调减小,而,于是,当x0.5 ,1.5时,,即 在0.5,1.5上单调减小,因此,但:,酱酵汲但恨鹿屿荒暂扳祝味迁忌让楞课麓赚汝仅诉对罕绩盛牢臣联臃鱼敏非线性方程求解非线性方程求解,可见不满足定理2.2的条件(2)。从表(2-3)看到,取x30=1.133074649作为初始值x0 ,x31 =1.128116321作为x1,当:,又由于,因此对x30 x31定理2.2的条件(2)成立, 故迭代过程收敛。,为使误
24、差不超过10-8:,硅移建侩胺建将菠挟从饲祸勘昔古榆离燎蓑逊梭妆耽掷柴梨曲奉铭隘夹栖非线性方程求解非线性方程求解,取k=138,于是迭代138+30=168次必可使近似解满足误差要求。实际上,从表2-3看到,只需要迭代110次便可达到所要求的精确度,式(2-6)右端是最大可能误差界。对于本例来说,估计的迭代次数偏大了。,而对于迭代函数,由于,因此 在1,2上单调减小,,当x1 ,2时:,即有,戒试溯钧惑秧廓文甘涯织蓖融斟裔粘济讶酒是盟零茨滥粉镇什什什乍誊促非线性方程求解非线性方程求解,又由于,因此定理2.2的条件(2)成立。,产生的迭代序列收敛。,故由,为使误差不超过10-8:,于是可取k=1
25、2,实际迭代11次必可使近似解满足误差要求。,州膜毫绊先友汤径氛欧桅默梯伪伦蓑攫翁颐达痊掣籍昧袖盈瞅音蹬桔丘敬非线性方程求解非线性方程求解,应用举例,Leonardo于1225年研究了方程:,曾经轰动一时,因为没有人知道他用的是什么方法。,我们现在可用迭代法求解:,还可用Newton法,弦截法求解,獭厄契绢落绍赘兄肚炬淘衔最轿蔽硅悟沤鬃西茎堂苟则氰虏蜜谋灌鱼企宵非线性方程求解非线性方程求解,迭代法的收敛条件之三,定理2.3,定理2.1以及定理2.2中条件(1)实际很难检查 因此有如下的定理2.3,抿耀托窃墒哭亚鸿痔曰唉画韭辰艇酵哄用届胆饿扭柜筋垃瞳孜杖擎湍粱兄非线性方程求解非线性方程求解,定理
26、2.3强调迭代初值x0应取在根x*的邻域中。如果对任意给定的x0,迭代格式均收敛,则称此格式具有全局收敛性,但这样的格式是极其稀少的。如果对根x*的某邻域内的任一点x0,迭代格式均收敛,则此格式具有局部收敛性。,即可保证对其中任取的一点x0迭代收敛。事实上,在用迭代法求解方程(2-1)时,常常先用对分区间求得较好的初值,然后再进行迭代。,本定理给出的就是局部收敛性条件。具体解题时,虽然无法判别隔根区间是否为以x*为中心的邻域,但只要它足够小,且在邻域中满足:,定理2.3 (续),戴开聂喇筋传姆孕案盂级苗贤馅茶属雏站露加藤袭里月逊颈砍候儡讥挫持非线性方程求解非线性方程求解,2.3 Steffen
27、sen方程简单迭代法的加速,收敛速度(收敛速度的阶):,成立,则称xn是r 阶收敛的,或称xn的收敛阶为r,收敛阶r 的大小刻划了序列xn的收敛速度:,r 越大,收敛越快:r =1 线性收敛r 1 超线性收敛r =2 平方收敛,设序列xn收敛于x*,若存在正数r和a使得:,范霸回标章凿铝均粕项客闽抬语怨瘤拇直衙卜纷攻灰困荒冕案封酮讯舜裔非线性方程求解非线性方程求解,xn的r 阶收敛定理,定理2.4,设迭代函数 (x)在x*邻近有r阶连续导数,且 x* = (x*),并且有,证明:,1) (x)满足收敛定理的条件xnx*;,紧接下屏,浴阜勘闯坑身菏刹深庞午庸昂龄彭讫逃春奖双杭嘉让两螺邱世员殆斧推
28、收非线性方程求解非线性方程求解,定理2.4(续),2)利用Taylor公式将(x)在x*附近展开:,这表明:xn是r阶收敛的。,一阶收敛即为线性收敛,收敛速度较慢,下面想法加速:,宗充济彝瞪煌疗赊协呼光侥腮的种框社命哄转犀潭彩弯贾毁甸技间趁竿闹非线性方程求解非线性方程求解,1、 Aitken加速法,若序列xn线性收敛于x*,可按式:,当n充分大时,有:,紧接下屏,踩厌赃咯诞倡知奖溉撑婚恬链收邵泳券盾去熊反隆舜嫉况鹅楷换她衡邦烈非线性方程求解非线性方程求解,Aitken加速法(续),由此式可推导出:,由此可得比值:,宏念蔗钳仁抚间返邮跺漏晕殷折犀擅西王滔烩舰符缘铸啸兄输潮遥枝嘻疚非线性方程求解非
29、线性方程求解,2、 Steffensen加速收敛式,将Aitken加速法与简单迭代格式xn+1 = (xn)相结合就得到 Steffensen加速收敛式 :,叙计坠呐短渴愈栖喳墟讥胎阎编诺漳摄胆灾坝徘啦驾祸驴惦弟惰倒魄桂淫非线性方程求解非线性方程求解,例8,于是由x0 = 1.5, 可计算:,继续下去 ,在此可 求x2, x3,由此例题可见:Steffensen方法收敛很快 ,达到了加快收敛的目的。,Steffensen加速收敛举例,用Steffensen方法求方程:,的根,取x0 =1.5,误差精度 = 106。,蘑喜形塘只铬裳檀滑复朝耿排辙百会仆式血待褥羊梁蹿帕传赊衣详扇脓悸非线性方程求解
30、非线性方程求解,3 Newton法与弦截法,3.1 Newton法,将非线性方程线性化,以线性方程的解逐步逼近非线性方程的解,这就是Newton法的基本思想。,设已知方程f (x) = 0的近似根x0,f (x)在其零点x*邻近一阶连续可微, 且f (x) 0,当x0充分接近x*时,f (x)可用Taylor公式近似表示为 :,则方程f (x) = 0可用线性方程近似代替,即:,孜桨亚静岸然悸呛嚎脆卤馋染魔箩烈挛遇怔维佐城弊鄙访洞洲屿律朴蛹屠非线性方程求解非线性方程求解,Newton法(续),解此线性方程得:,取此x作为原方程的新近似值x1,重复以上步骤, 于是得迭代公式:,按式(2-7)求方
31、程f (x) = 0近似解称为Newton法。,熄酗绵骄讫擞齿窑憨药亩祁千料慷广哥甥未昭别庶至填埔喉儡姓凝骨桂钥非线性方程求解非线性方程求解,Newton法的几何意义,如此继续下去,xn+1为曲线上点(xn, f (xn)处的切线与x轴的交点。因此Newton法是用曲线的切线与x轴的交点作为曲线与x轴交点的近似,故Newton法又称为切线法。,Newton迭代法有 着明显的几何意 义如图2-4所示,,过点(x0,f (x0)作曲线y = f (x)的切线,切线方程为: y = f (x0) + f (x) (xx0) 该切线与x轴的交点的横坐标即为新的近似值x1,而x2则是曲线上点(x1, f
32、 (x1)处的切线与x轴的交点。,吸嚼磅骇德侧曝腋聚泽智恢乍码钟徊湛羹芭朽捍甩黔遵谍糙豫玖绥岿镣促非线性方程求解非线性方程求解,Newton法举例,例9,解: 因为f (x) =3x2+10,故Newton迭代公式为:,x1 = 1.5970149,x2 = 1.5945637,x3 = 1.5945621 = x4 迭代三次所得近似解就准确到8位有效数字。,代入初值x0得:,可见Newton法收敛很快。,一般地,有如下屏定理2-5:,搀透狂果懈辱投阻痴庶绵呼煮脊醉闺敞走垮藕惟相邻人呜殷协雌闰恍泣助非线性方程求解非线性方程求解,Newton法收敛定理,定理2.5,设函数f (x)在其零点x*邻
33、近二阶连续可微,且f (x*) 0,则存在 0,使得对任意x0x*, x* + ,Newton法所产生的序列xn至少二阶收敛于x*。,按式(2-7),Newton法的迭代函数为:,于是有:,证明:,邦蔬辜缆芭概迂铝吼那奥蛀重骋粒剃达寿柱竿缎胰藻膜砾逛抡辙裔剔隔轧非线性方程求解非线性方程求解,定理2.5(续),由已知f (x)在x*邻近连续,因而 (x)在x* 邻近连续,且,根据定理2.4,Newton法产生的序列xn至少二阶收敛于x*。,定理2.5表明,当初值x0充分接近x*时,Newton法的收敛速度较快,但当初值不够好时,可能会不收敛或收敛于别的根,这可从Newton法的几何意义看到:,紧
34、接下屏,耸亥振揽嗓瓜脑捕肠葱晓颊印凸乖夯邱屯绿丛碰成剿督赏钳锨丰典而串畅非线性方程求解非线性方程求解,Newton法的几何意义及其优劣,如图2-5(a)所示.应用中可由实际问题的背景来预测利用对分区间法求得较好的初值x0。使在其邻近f (x) f (x)不变号,并且使f (x0) f (x0) 0,这就能保证收敛,如图2-5(b)(d)。,Newton法具有收敛快,稳定性好,精度高等优点,它是求解非线性方程的有效方法之一。但它每次迭代均需要计算函数值与导数值,故计算量较大。而且当导数值提供有困难时,Newton法无法进行。,晰暂胸羡终拄泽股沂辱肢某师芥槐疗玄誓菩磨塌返两胃缅尺目崔零足工介非线性
35、方程求解非线性方程求解,3.2 计算重根的牛顿迭代法,若x*为方程f(x)=0的m(m1)重根,则f(x)可表为:,其中g(x*)0,此时用牛顿迭代法求x*仍然收敛,只是收敛速度将大大减慢。事实上,因为:,粗谗格恿兆玻约温哗褐酬酉印责盆修热瞅桂臂彦往憨桶舟炉乡死俗贝栅斜非线性方程求解非线性方程求解,计算重根的牛顿迭代法(续1),可见用牛顿法求方程的重根仅为线性收敛。,为了提高求重根的收敛速度,有两种可供选择方法: (1) 方法之一是将求重根的问题转化为求单根。注意到函数:,吻课敷邓曹兔冰闺鸿遇驾芋顽忿蓄遂哉恶烁支谩朝熬荤礁职吊椰乓褪送煞非线性方程求解非线性方程求解,计算重根的牛顿迭代法(续2)
36、,上述迭代格式右端较复杂,应用起来不方便。 (2) 另一种求m重根的方法是采用如下迭代格式:,可以证明它是求m重根x*的 具平方收敛的迭代格式。,问题是如何确定根的重数m?下面介绍一个边迭代边估计重数方法。设xk2,xk1,xk为用牛顿迭代格式(2-7)所得三个相邻的迭代值,令,狰孪文础项澜其沂律荚乙盛衰及囊俊抉俯译作爹究谜旗式赘藩厩菏袖铲煤非线性方程求解非线性方程求解,计算重根的牛顿迭代法(续3),则,由式(2-8)可知,故,因此可用 下式估计m,燎肘拈沁驴励独怒醚玫奴压渺腥赘源俩缨润荐叹叙耸葫脏褂粱涂轻搞职瞬非线性方程求解非线性方程求解,例8 用牛顿迭代法求方程,在0.95附近之根。,解
37、取x0=0.95,用牛顿迭代法, 按式(2-7)求得的xk见表2-3,由表中数据可见xk 收敛很慢。由,可知,所求根为m=2重根,,改用式(2-9)迭代格式,得:,收敛速度大大快于直接用牛顿迭代公式(2-6).,莱忙撂刨肛梅箭匹朋木芭伟菊闽速终邵料执蒙递简舷柏串定陕盯辆唆鬃咱非线性方程求解非线性方程求解,例8(续),表2-3,渗肉浓忱卡赌蝉矿捧弦馏院氯陛馁乱题柜涌饱诧苏冯衷枕鲸信风翱弓彼嘘非线性方程求解非线性方程求解,3.2 弦截法,不 足 之 处:需要计算导数值,较难;,这就是弦截法迭代公式,Newton法优点:收敛快(平方阶),固定格式;,修 正:以差商代替导数(微商),奢拭室状益觅仿尺孪
38、题好汤耐颜出百镑沼底忧循龚载妻棺室同殴湛也巳爹非线性方程求解非线性方程求解,弦截法迭代公式的几何解释,与x轴相交, 即y = 0,解出x得:,即以割线代替曲线f (x),以割线与x轴的交点去近似曲线与x轴的交点,故弦截法又称为割线法。,割线法也可看作以(xn-1,f(xn-1)),(xn,f (xn)作线性 插值,而以此插值多项式近似f (x) ,以其零点近似f (x)的零点。,腆呛猎鹏燃耀弟厉员叫瓜音窟褥题唐盎兢敖灌遍运呵唇赠谎驰硕般予皱拂非线性方程求解非线性方程求解,弦截法的几点说明,1。需要两个点x0,x1才能开始进行迭代:(1)若只给定x0,则须利用其他方法,如对分 法,求 x1,然后
39、再利用弦截法,求x2 ,x3, ;(2)若给定一有根区间,可直接用两端点作x0,x1。,xn收敛,收敛阶为1.618,超线性收敛。,翘瘩荒再蛰峦瞧牲偶娱莱寂乾敖捞涂渠谊己庇贬扑兜授馋皋亚哪跺函沮肺非线性方程求解非线性方程求解,3. 上述弦截法又称为变端点弦截法,其实还可 写为:,固定一端点x0,称为定端点 弦截法(单点),如右图 :,弦截法的几点说明(续),援幼硼驶郝弯神鼓虑寡龚貌孟勺绑非抹泞涧扯郭客熟徒捏所窟桂殊搐釜耗非线性方程求解非线性方程求解,弦截法举例,用定端点,变端点截线法求方程:f (x) = x32x5 在区间2,3内的一个实根(有12位有效数字的实根为 = 2.09455148
40、514)。,解: 取x0 = 2, x1=3,用两种方法计算结果如下: (见表2-4),可见 变端点比定端点收敛速度快得多。变端点的x6已达精确值,而定端点x6只有7位有效数字。,犊刚降逼肌唤刷泥慰铂贩别厌据枝碍省剂遣缀鸦饶岿遁度货爱拂宦誊移梁非线性方程求解非线性方程求解,表2-4,爱舌瘫持诫祸容迈配掠溪匆心狈吕郎衣糠嘉政姐贫一嫁宇串挣悯鲍牙叼础非线性方程求解非线性方程求解,4 抛物线法,弦截法可看作是以一次插值多项式的零点去近似f (x)=0的零点(根),若用二次插值多项式去近似f (x), 而以二次插值多项式的零点近似f (x)=0的零点可导出 抛物线法。,若已知f (x) = 0的根的三
41、个近似值:xn2, xn1,xn由此可得对应的f (xn-2),f (xn1),f(xn),以这三个点为节点作二次插值多项式:(按差商 ),抉补憾扦贤阀启试财拒够您椅赋韶蚁窃摇弗窟恭咎饲疆两哄猛烯姜块捌莱非线性方程求解非线性方程求解,抛物线法(续),以N2(x)代替f (x),以N2 (x) = 0的根近似f (x) = 0根,而N2(x) = 0的根为:,在两个根中选取一个根,原则是使 |x-xn| 较小,这就是 抛物线法格式(Muller法,二次插值法):,第二项分子分母乘 分子的共轭,得:,茹谩斑迹搬刊预核掸屠疆赚侮诗哨署拾隐樟搓椎天槽督样声骚姨塘狗按科非线性方程求解非线性方程求解,抛物
42、线法的几点说明,2. 若f (x)在零点的邻域内三阶连续可微,且 初值x0, x1, x2充分接近x*抛物线法收敛, 收敛阶为1.84,实际计算时,并不要x0, x1, x2一定要充分接近x*,初值差一些, 也会收敛;,1. 抛物线法的几何意义:以三点作成的抛物 线(二次插值多项式)与x轴的交点近似 曲线与x轴交点;,3. 格式较繁,因此计算程序就较复杂,并可 能出现复数,适用初值不太好的方程求复 根。,闭描饭撵整惊莱帛攘恒奏焚慌回呆侮芽窝登醋溜纵惕毖花赊锗揽爵蚂左甩非线性方程求解非线性方程求解,抛物线法举例,例9,解:此例在弦截法中已有,因此可取x0 = 1.5, x1 = 1.75, x2 = 2,相应的:,而:,因此:,可继续下去,直到满足给定的精度。,分邯劣贝贯化萄佑介护韩寻邮捣湛认跌卯涅宠比粮篮锐镑麓赊熄桐羹筷忽非线性方程求解非线性方程求解,结 束,酬瓣版逼擞嘴素诬屑耿移彝登廊桐竟兑钝侯压应莫竖凯贾订欧编杂授节守非线性方程求解非线性方程求解,