文档详情

9_数值分析 非线性方程求根Q课件.ppt

发布:2017-08-10约1.44千字共21页下载文档
文本预览下载声明
迭代过程的加速;? 加速方案一;把它作为 的一种补偿;例 用简单迭代法求方程 x =e-x 在x=0.5附近的一个根, 要求;function y=JDDDL31(x0,epsilon) ek=1;xk=x0; %n=1; for n=1:16 yk=g(xk); xk=yk; ek=abs(yk-xk)/abs(xk); fprintf(\n y%d = %15.14f \n,n,yk) end fprintf(\n ek=|yk-xk|/|xk|= %f \n,ek) y=yk; %%%%%%%%%%%%%%% function Y=g(x) Y=exp(-x);; x0=0.5 x0 = 0.5000 epsilon=0epsilon = 1.0000e-008 y=JDDDL31(x0,epsilon) y1 = 0.60653065971263 y2 = 0.54523921189261 y3 = 0.57970309487807 y4 = 0.56006462793890 y5 = 0.57117214897722 y6 = 0.56486294698032 y7 = 0.56843804757007 ;例 用加速方案一求x =e-x 在x=0.5附近的一个根, ; 当迭代函数 g(x) 在不动点 s 处导数不为零, 迭代 xk+1 = g(xk) (4.3) 仅是线性收敛的. 现在介绍 Steffensen 加速法.      ;把它作为xk的一种补偿;? Steffensen 加速:把 xk+1, xk+2 看作中间值, 分别记为 yk , zk ;x;例 用S-迭代法求方程 x3 -x -1= 0在区间(1, 2)内的根 s.;k;定理4.5 设 s为g(x)的不动点, g(x) 在含 s的某个开区间内有连续的二阶导数, 且 g(s) ≠1, 则存在 ? 0, 对于 x0?B? =[s- ?, s+ ?] 但 x0 ≠ s时,由 Steffensen 迭代 (4.6) 产生的序列{ xk} 至少以二阶速度收敛于 s. 证 构造函数 ψ(x), ;(1) ψ(x) 与 g(x) 有相同的不动点 s = ψ(s). ;(2) 用洛必塔法则, 可以得到 ;例2 分别用函数 g(x)= 2 + lnx 和 g(x)= ex-2 , 使用S-迭代法求方程 x -lnx = 2 在区间(2, ∞)内的根 s. 解 二个函数对应的迭代公式分别为;k; f (x)的图像;注意:下面的迭代并不收敛于方程 x -lnx = 2 在区间(2, ∞) 内的根:;x1 = 2.71828182845905 x2 = 2.05090637269250 x3 = 1.05222437173631 x4 = 0.38760223673049 x5 = 0.19940890504091 x6 = 0.16520120975348 x7 = 0.15964562079268 x8 = 0.15876115448468 x9 = 0.15862079767211 x10 =0.15859853572488
显示全部
相似文档