《非线性方程的数值解法.ppt》由会员分享,可在线阅读,更多相关《非线性方程的数值解法.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章 非线性方程的数值解法非线性方程的数值解法/*Numerical Solutions of Nonlinear Equations*/本章主要内容:本章主要内容:1 1、二分法、二分法2 2、不动点迭代的构造及其收敛性判定、不动点迭代的构造及其收敛性判定(重点)(重点)3 3、Newton和和Steffensen迭代迭代4 4、弦割法与抛物线法、弦割法与抛物线法历史背景历史背景 代数方程的求根问题是一个古老的数学问题。理论上,代数方程的求根问题是一个古老的数学问题。理论上,次代数方程在复数域内一定有次代数方程在复数域内一定有 个根个根(考虑重数考虑重数)。早在。早在1616世纪世纪
2、就找到了三次、四次方程的求根公式,但直到就找到了三次、四次方程的求根公式,但直到1919世纪才证明大世纪才证明大于等于于等于5 5次的一般代数方程式不能用代数公式求解,而对于超次的一般代数方程式不能用代数公式求解,而对于超越方程就复杂的多,如果有解,其解可能是一个或几个,也可越方程就复杂的多,如果有解,其解可能是一个或几个,也可能是无穷多个。一般也不存在根的解析表达式。因此需要研究能是无穷多个。一般也不存在根的解析表达式。因此需要研究数值方法求得满足一定精度要求的根的近似解。数值方法求得满足一定精度要求的根的近似解。求方程求方程 几何意义几何意义基本定理基本定理 如果函数如果函数 在在 上连续
3、,且上连续,且则至少有一个数则至少有一个数 使得使得 ,若同时,若同时 的一阶的一阶导数导数 在在 内存在且保持定号,即内存在且保持定号,即 (或或 )则这样的则这样的 在在 内唯一。内唯一。abx*1 1 二分法二分法 /*Bisection Method*/原理:原理:若若 f Ca,b,且,且 f(a)f(b)0,则,则 f 在在(a,b)上上至少有一实根。至少有一实根。基本思想:基本思想:逐步将区间分半,通过判别区间端点函数值的符号,逐步将区间分半,通过判别区间端点函数值的符号,进一步搜索有根区间,将有根区间缩小到充分小,从而求进一步搜索有根区间,将有根区间缩小到充分小,从而求 出满足
4、给定精度的根出满足给定精度的根 的近似值。的近似值。终止法则?终止法则?abx1x2abWhen to stop?或或不能保证不能保证 x 的精度的精度x*二分法算法二分法算法给定区间给定区间a,b,求,求f(x)=0 在该区间上的根在该区间上的根x.输入输入:a和和b;容许误差容许误差 TOL;最大对分次数最大对分次数 Nmax.输出输出:近似根近似根 x.Step 1 Set k=1;Step 2 Compute x=f(a+b)/2);Step 3 While(k Nmax)do steps 4-6 Step 4 If|x|TOL,STOP;Output the solution x.S
5、tep 5 If x*f(a)0,Set b=x;Else Set a=x;Step 6 Set k=k+1;Compute x=f(a+b)/2);Go To Step 3;Step 7 Output the solution of equation:x;STOP.3、由二分法的过程可知:由二分法的过程可知:4、对分次数的计算公式:对分次数的计算公式:1、2、令令解解:例例1 1:用二分法求方程用二分法求方程 在区间在区间 上的上的根,误差限为根,误差限为 ,问至少需对分多少次?,问至少需对分多少次?简单简单;对对f(x)要求不高要求不高(只要连续即可只要连续即可).无法求复根及无法求复根及
6、偶重根偶重根收敛慢收敛慢 注:注:注:注:用二分法求根,最好先给出用二分法求根,最好先给出 f(x)草图以确定根的大草图以确定根的大概位置。或用搜索程序,将概位置。或用搜索程序,将a,b分为若干小区间,对每分为若干小区间,对每一个满足一个满足 f(ak)f(bk)0 的区间调用二分法程序,可找的区间调用二分法程序,可找出区间出区间a,b内的多个根,且不必要求内的多个根,且不必要求 f(a)f(b)0。优点优点缺点缺点2 迭代法的理论迭代法的理论 /*Theory of Iteration Method*/f(x)=0 x=g(x)(迭代函数)(迭代函数)等价变换等价变换思思路路从一个初值从一个
7、初值 x0 出发,计算出发,计算 x1=g(x0),x2=g(x1),xk+1=g(xk),若若 收敛,即存在收敛,即存在 x*使得使得 ,且,且 g 连续,则由连续,则由 可可知知 x*=g(x*),即,即x*是是 g 的不动点,也就是的不动点,也就是f 的根。的根。f(x)的根的根g(x)的不动的不动点点一、不动点迭代一、不动点迭代 /*Fixed-Point Iteration*/xyy=xxyy=xxyy=xxyy=xx*x*x*x*y=g(x)y=g(x)y=g(x)y=g(x)x0p0 x1p1x0p0 x1p1x0p0 x1p1x0p0 x1p1几何意义几何意义例例2:已知方程已
8、知方程 在在 上有一个根(正根)上有一个根(正根)下面选取下面选取5 5种迭代格式:种迭代格式:1 1、即即2 2、即即3 3、即即4 4、即即5 5、即即取取计算结果如下:计算结果如下:法法1 1法法4 4法法3 3法法2 2法法5 5Lipschitz条件成条件成立的充分条件立的充分条件考虑方程考虑方程 x=g(x),若若(I)当当 x a,b 时,时,g(x)a,b;(II)0 L 1 使得使得 对对 x a,b 成立。成立。则任取则任取 x0 a,b,由,由 xk+1=g(xk)得到的序列得到的序列 收敛于收敛于g(x)在在a,b上的唯一不动点。并且有误差估计式:上的唯一不动点。并且有
9、误差估计式:(k=1,2,)且存在极限且存在极限连续时连续时证明:证明:g(x)在在a,b上存在不动点?上存在不动点?令令有根有根 不动点唯一?不动点唯一?反证:若不然,设还有反证:若不然,设还有 ,则,则在在和和之间。之间。而而 当当k 时,时,xk 收敛到收敛到 x*?L 越越 收敛越快收敛越快可用可用 来控来控制收敛精度制收敛精度小小注:注:注:注:条件条件(II)可改为可改为 在在a,b 满足满足Lipschitz条件条件,定理结论仍然成立定理结论仍然成立(定理定理)。算法算法:不动点迭代不动点迭代给定初始近似值给定初始近似值 x0,求,求x=g(x)的解的解.输入输入:初始近似值初始近似值 x0;容许误差容许误差 TOL;最大迭代次数最大迭代次数 Nmax.输出输出:近似解近似解 x 或失败信息或失败信息.Step 1 Set i=1;Step 2 While(i Nmax)do steps 3-6Step 3 Set x=g(x0);/*计算计算 xi*/Step 4 If|x x0|1)(1)阶收敛的方法,阶收敛的方法,改用改用Stefensen迭代方法优点不多。迭代方法优点不多。取取计算结果如下:计算结果如下:法法2 2原原迭迭代代次次数数29法法3 3原原来来不不收收敛敛法法1 1原原来来不不收收敛敛返回返回