1第七章非线性方程(组)的数值解法计算方法——方程求根与二分法——不动点迭代及其加速2本章内容非线性方程求解二分法不动点迭代法及其加速牛顿法、弦截法、抛物线法求根问题的敏感性与多项式的零点非线性方程组的数值求解3本讲内容迭代格式加速算法收敛性非线性方程求解介绍二分法及其收敛性不动点迭代及其加速4非线性方程数值解法考虑方程若f(x)是一次多项式,则称为线性方程;否则称为非线性方程f(x)=0若f(x)=a0+a1x+...+anxn,则称为代数方程,()[,]xRfxCabn=1,2,3,4时有相应的求根公式,n5时不存在求根公式非线性方程可能有(无穷)多个解,求解时必须强调求解区间非线性方程一般没有直接解法,通常都使用迭代算法求解5非线性方程数值解法几个基本概念实根与复根根的重数f(x)=(x–x*)m·g(x)且g(x*)0,则x*为f(x)=0的m重根有根区间:[a,b]上存在f(x)=0的一个实根研究内容:在有根的前提下求出方程的近似根6二分法(对分法)基本思想将有根区间进行对分,找出根所在的小区间,然后再对该小区间对分,依次类推,直到有根区间的长度满足给定的精度为止数学原理:介值定理设f(x)在[a,b]上连续,且f(a)f(b)0,则由介值定理可得,在(a,b)内至少存在一点使得f()=0适用范围求有根区间内的单重实根或奇重实根,即f(a)f(b)0用二分法求根,通常先给出f(x)草图以确定有根区间7二分法算法:(二分法)(1)计算f(a),f(b),若f(a)f(b)0,则停止计算(2)对k=1,2,...,maxit2abx计算f(x),其中若|f(x)|或b-a,停止计算,输出近似解x若f(a)·f(x)0,则令b=x;否则令a=x优点:简单易用,总是收敛缺点:收敛速度慢,不能求复根和偶数重根总结:一般用来计算解的一个粗糙估计8误差分析记a1=a,b1=b,第k步的有根区间为[ak,bk]11224kkkkkkkbababaxxx112kba20()kkakbxx结论:二分法总是收敛的9不动点迭代基本思想构造f(x)=0的一个等价方程:()xx(x)的不动点f(x)=0x=(x)等价变换f(x)的零点10不动点迭代具体过程任取一个迭代初始值x0,计算得到一个迭代序列:x0,x1,x2,...,xn,...1()kkxxk=0,1,2,......几何含义:求曲线y=(x)与直线y=x的交点11xyy=xxyy=xxyy=xxyy=xx*x*x*x*y=(x)y=(x)y=(x)y=(x)x0p0x1p1x0p0x1p1x0p0x1p1x0p0x1p1x212连续性分析设(x)连续,若收敛,即,则1limlim()limkkkkkkxxxlim*kkxx0kkx*(*)xx(*)0fx即收敛性分析性质:若,则不动点迭代收敛,且x*是f(x)=0的解;否则迭代法发散。lim*kkxx13解的存在唯一性定理:设(x)C[a,b]且满足证明:自学(1)对任意的x[a,b]有(x)[a,b](2)存在常数0L1,使得任意的x,y[a,b]有()()xyLxy则(x)在[a,b]上存在唯一的不动点x*解的存在唯一性14收敛性分析定理:设(x)C[a,b]且满足证明:自学(1)对任意的x[a,b]有(x)[a,b](2)存在常数0L1,使得任意的x,y[a,b]有()()xyLxy则对任意初始值x0[a,b],不动点迭代xk+1=(xk)收敛,且不动点迭代的收敛性11011kkkkLLxxxxxxLL15收敛性分析不动点迭代的收敛性若(x)C1[a,b]且对任意x[a,b]有|’(x)|L1则上述定理中的结论成立。收敛性结论表明:收敛性与初始值的选取无关全局收敛16举例例:求f(x)=x3–x–1=0在区间[1,2]中的根3()1xx231'()(1)3xx31'()0.2513x(1)1()2x([1,2])x3()1xx2'()3xx'()1x(2)0()7x([1,2])xex71.m17局部收敛定义:设x*是(x)的不动点,若存在x*的某个-邻域U(x*)=[x*-,x*+],对任意x0U(x*),不动点迭代xk+1=(xk)产生的点列都收敛到x*,则称该迭代局部收敛。定理:设x*是(x)的不动点,若’(x)在x*的某个邻域内连续,且|’(x*)|1则不动点迭代xk+1=(xk)局部收敛证明:自学局部收敛18收敛速度定义:设迭代xk+1=(xk)收敛到(x)的不动点x*,记ek=xkx*,若1||lim||kpkkeCe其中常数C0,则称该迭代为p阶收敛。(1)当p=1时称为线性收敛,此时C1(2)当p=2时称为二次收敛,或平方收敛(3)当p1时称为超线性收敛二分法是线性收敛的若’(x*)0,则不动点迭代xk+1=(xk)线性收敛19收敛速度定理:设x*是(x)的不动点,若(p)(x)在x*的某邻域内连续,且(1)()'(*)''(*)(*)0,(*)0ppxxxx则迭代xk+1=(xk)是p阶收敛的。证明:自学20举例例:求f(x)=x2-3=0的正根2()3xxx(1)'(*)2311xex72.m*3x23()4xxx(2)3'(*)10.31412x13()2xxx(3)'(*)0x2''(*)03x21Aitken加速Aitken加速10()xx1010*()(*)'()(*)xxxxxx21()xx2121*()(*)'()(*)xxxxxx若’(x)变化不大,则可得:12'()'()0121****xxxxxxxx2100210()*2xxxxxxx1y22Aitken加速01234...xxxxx123...yyy21121()2kkkkkkkxxyxxxx收敛性:1*lim0*kkkyxxx超线性收敛23Steffenson加速21()(),(),2kkkkkkkkkkkyxyxzyxxzyxSteffenson加速将Aitken加速技巧与不动点迭代相结合k=0,1,2,...迭代函数:21(())(),()()2()kkxxxxxxxxx24Steffenson加速定理:若x*是(x)的不动点,则x*是(x)的不动点。反之,若x*是(x)的不动点,且”(x)存在,’(x*)1,则x*是(x)的不动点,且Steffenson加速迭代是二阶收敛的。若原迭代是p阶收敛的,则Steffenson加速后p+1阶收敛原来不收敛的迭代,Steffenson加速可能收敛25举例例:用Steffenson加速法求f(x)=3x2–ex=0在区间[3,4]中的根(取(x)=2ln(x)+ln3)例:用Steffenson加速法求f(x)=x3–x–1=0在区间[1,2]中的根(取(x)=x3–1)ex73.mex74.m26作业教材238页,习题2,4,6