9_数值分析 非线性方程求根Q课件.ppt
文本预览下载声明
迭代过程的加速;? 加速方案一;把它作为
的一种补偿;例 用简单迭代法求方程 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
显示全部