- 59
- 0
- 约1.07万字
- 约 88页
- 2020-01-13 发布于湖北
- 举报
Ch7 非线性方程求根 7 .1 方程求根与二分法 7 .2 迭代法及其收敛性 7 .3 迭代收敛的加速方法 7 .4 牛顿法 7 .5 弦截法与抛物线法 7 .6 解非线性方程组的牛顿迭代法 从而可构造迭代法 (4 .14) 它是二阶收敛的. 注:定理条件非必要条件,可将[a, b]缩小,定义局部收敛性:若在 x* 的某? 邻域 B? = { x | | x ? x* | ? ? } 有 φ ?C1[a, b] 且 | φ’(x*) | 1,则由?x0?B? 开始的迭代收敛。即调整初值可得到收敛的结果。 7.2.3 局部收敛性与迭代法的收敛阶 例4 构造不同迭代法求 的根 解 (1) 不满足定理2.2条件. (2) (3) 收敛. 表 7-3 1.732051 1.732361 1.5 x3 3 … … … … … 1.732143 1.73475 2 x2 2 1.75 1.75 1.5 x1 1 2 2 2 x0 0 迭代法(3) 迭代法(2) 迭代法(1) xk k 从表7-3看到 迭代法(1)不收敛 迭代法(2)和迭代法(3)收敛 在迭代法(3)中, 收敛最快. 若取 ,分别用上述三种迭代计算,结果见表7-3. function f=fun1(x) f=3/x function f=fun1(x) f=x-1/4*(x^2-3) function f=fun1(x) f=1/2*(x+3/x) [k,piancha,xdpiancha,xk]= diedai1(2,5) function [k,piancha,xdpiancha,xk]=diedai1(x0,k) % 输入的量--x0是初始值,k是迭代次数 x(1)=x0; for i=1:k x(i+1)=fun1(x(i));%程序中调用的fun1.m为函数y=φ(x) piancha= abs(x(i+1)-x(i)); xdpiancha=piancha/( abs(x(i+1))+eps); i=i+1;xk=x(i);[(i-1) piancha xdpiancha xk] end if (piancha 1)(xdpiancha0.5)(k3) disp(此迭代序列发散,请重新输入新的迭代公式) return; end if (piancha 0.001)(xdpiancha 0.0000005)(k3) disp(祝贺您!此迭代序列收敛,且收敛速度较快) return; end p=[(i-1) piancha xdpiancha xk]; 三次迭代分别为: 定义 设迭代 xk+1 = φ(xk) 收敛到φ(x) 的不动点 x*。 设 ek = xk ? x*,若 ,则称该迭代为p 阶收敛。 ? 一般 Fixed-Point Iteration 有 ,称为线 性收敛 /* linear convergence */,这时 p = 1,0 C 1。 ? p 1,称为超线性收敛, ? p = 2,称为平方收敛。 定理 设 x* 为x = φ(x) 的不动点,若 ,p ? 2; ,且 ,则 xk+1 = φ(xk) 在 内 p 阶收敛。 证明: x* k ? ? C 3.1 Aitken 加速: x y y = x y = φ(x) x* x0 P(x0, x1) x1 x2 P(x1, x2) 7.3 迭代收敛的加速方法 可以证明: 一般地有: 比 收敛得略快。 function [k,xk,yk,p]= Aitken (x0,tol, ddmax) x(1)=x0; for i=1: ddmax x1(i+1)=fun(x(i)); x2(i+1)=fun(x1(i+1)); x(i+1)=x2(i+1)-(x2(i+1)-x1(i+1))^2/(x2(i+1)-2*x1(i+1)+ x(i)); piancha=abs(x(i+1)-x(i)); xdpiancha= piancha/( abs(x(i+1))+eps); i=i+1; xk=x(i);yk=fun(x(i)); if (pianchatol)|(xdpianchatol) k=i-1; xk=x(i); yk=fun(x(i));
原创力文档

文档评论(0)