简单迭代法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

若x1≠(x1) , 记 x2=(x1) ,再用x2继续试探
即形成一迭代公式
计算方法二③
记 x3=(x2) 如此反复计算…… xk+1=(xk) ,(k=0,1,2,…)
8/32
当{xk}收敛于a,而(x)是连续函数时,那么a
就是所求方程的根x* 。这是因为
a

lim
k
xk 1

若x1≠(x1),记 x2=(x1),再用x2继续试探……如此反 复计计算算方,即法形二③成一迭代公式 xk+1=(xk)(k=0,1,2,…)
4/32
当{xk}收敛于a,而(x)是连续函数时,那么a
就是所求方程的根x* 。这是因为
a

lim
k
xk 1

lim
k

(
xk
)

(lim k
xk
)

(a)
a即是(x)的不动点。 即:x*=a
定义:如果{xk}收敛,则称迭代公式xk+1=(xk)是收敛
的;否则称迭代公式是发散的。
一般地,我们称(x)为方程f(x)=0的迭代函数,上
述求根的方法,称为简单迭代法。
迭代函数(x)的构造方法是多种多样的。
计算方法二③
5/32
例1 用迭代法求方程x3-x-1=0在x=1. 5附近的根。 解:先将原方程改写为如下两种等价形式:
1/32
学习和了解科学计算的桥梁
计算方法二③
2/32
§2.3 简单迭代法
迭代法是求解非线性方程近似根最常用的一种方 法。简单迭代法又是其它迭代法的基础。
迭代法的关键是确定迭代函数(x),即 用直接的 方法将原方程f(x)=0变为等价的方程x= (x ) (即隐含 的求出x), 从而确定迭代函数(x),然后进行迭代,求 出方程的近似根。
定理2.2(局部收敛定理) 设(x)在x= (x)的根x*邻近 有连续的一阶导数, 且| ’(x*)|<1,
则迭代公式xk+1=(xk)具有局部收敛性。(证明略)
注:根据’(x)的连续性条件| ’(x*)|<1可用| ’(x0)|<1 来近似代替。 (∵x*不知道,∴验证| ’(x*)|<1很困难)
x=1(x) 3 x 1
x=2(x)=x3-1
相应地可得到两个迭代公式:xk+1=1(xk) 3 xk 1
xk+1=2(xk)=xk3-1
如果取初始值x0=1. 5,分别用上面两公式迭代(用6位有 效数字计算),可得下表:
计算方法二③
k xk+1 = 1(xk) 3 x k 1
计算方法二③
9/32
计算方法二③
二、简单迭代法的几何解释
10/32
求方程x=(x) 的根在几何上就是求y=(x) 与y=x的
交点P*的横坐标。
y
y=x
给出一个估计值x0,在曲线
y=(x) 上得到以x0为横坐标 的点P0,P0的纵坐标为(x0)
=x1,过P0引x轴的平行线与 直线y=x交于一点Q1,过Q1 再作y轴的平行线与曲线
简单迭代法收敛速度较慢,迭代次数多,因此常 用于理论研究中,实际用于求根的迭代法是另一种迭 代法——Newton迭代法,它采用另一种迭代格式, 具 有较快的收敛速度,由牛顿迭代法还可以得到其他的 迭代格式。
计算方法二③
一、简单迭代法原理
3/32
• 简单迭代法又称逐次逼近法.
• 基本思想:是构造不动点方程,以求得近似根。
且有 | ’(0.5)|= |(e-0.5)’|<1
由上述公式知,迭代公式 xk1 e xk 对于初值x0=0.5
是收敛的。迭代18次后,得x*=0.56714。
1
0.5
7 0.5684 13 0.5671
2 0.5452 8 0.5664 14 0.5672
3 0.5797 9 0.5676 15 0.5671
f(a)=a- (a)≤0, f(b)=b- (b)≥0 ∴ f(a) f(b)≤0
由零点定理知,至少存在一点x*∈ [a,b],使得
f(x*)=0,即x*= (x*), x*即为(x)的不动点 。
再证不动点的唯一性:设有两个不同的不动点x1*, x2*
由条件2得: |x1*- x2*|=| (x1*) - (x2*) |≤L |x1*- x2*|
收敛,则点列P1,P2,…将 越来越逼近所求交点P*.
计算方法二③
11/32
三、迭代公式的收敛性与误差估计
迭代公式可能收敛,也可能发散,那么
(1)当迭代函数(x)满足什么条件时,相应的迭代公式 xk+1=(xk)才收敛?
(2)当迭代收敛时,迭代值的误差如何估计? 我们也不能无穷迭代下去,只能迭代有限次,所以需 要估计迭代值的误差,以便适时终止迭代。
lim
k

(
xk
)

(lim k
xk
)

(a)
a即是(x)的不动点。 即:x*=a
定义:如果{xk}收敛,则称迭代公式xk+1=(xk)是收敛
的;否则称迭代公式是发散的。
一般地,我们称(x)为方程f(x)=0的迭代函数,上
述求根的方法,称为简单迭代法。
迭代函数(x)的构造方法是多种多样的。
一般用 |(x) | L 1 x [a,b]
由中值定理可以证明上述结论: |(x) - (y)|=| ’(ξ)| |x-y|
只要 |(x) | L 1 x [a,b]
就有: |(x) - (y)|≤L|x-y| (0<L<1)
故只要 |(x) | L 1 x [a,b]
x0∈[a,b],由迭代公式 xk+1= (xk) 产生的数列{xk}都收
敛于x*,并有如下的误差估计式:
x* xk
L 1 L
xk xk 1
x* xk
计算方法二③
Lk 1 L
x1 x0
13/32
证明:1)先证不动点的存在性 作f(x)=x- (x)
则条件2知f(x)在[a,b]上连续,由条件1知 :
y=(x) 相交于一点P1,x1即
为P1点的横坐标,按图中箭 头所示继续做下去,在曲线
y=(x)
Q1 P0
P*
P1
(x0)=x1
Fra Baidu bibliotek
(x1)=x2
0 x*x2 x1
x0 x
恰好为按公式xk+1=(xk)
所确定的迭代值。若迭代
y=(x) 上得到点列P1,P2,…,
其横坐标分别为x1,x2,…,
< |x1*- x2*| 矛盾
∴x1*=x2*.
计算方法二③
返回
14/32
2)数列{xk}收敛到x*:
由1)知,存在一点x*∈ [a,b], 使得:x*= (x*) ,
再由xk+1= (xk) ,得 |xk+1-x*|=| (xk) - (x*) |≤L|xk-x*|

|xk+1-x*|≤L|xk-x*|
计算方法二③
例 求方程x=e-x在0. 5附近的一个根,要求精度ε=1190/3-52 解:过x=0.5以h=0.1为步长搜索一次,可发现所求根在
区间[0.5,0.6]内, (e - 0. 5)= 0.6065 (e - 0. 6)=0.5488
0.5- 0.6065<0 0.6-0.5488>0
迭代格式有多种,如何选择迭代函数才能保证迭 代法的数列收敛?有如下定理:
计算方法二③
定理2.1:假定迭代函数(x) 满足下列条件: 12/32
1、对任意x∈[a,b] ,有 (x) ∈[a,b]
2、存在正数 L<1,使对任意x,y∈[a,b] 有
|(x) - (y)|≤L|x-y|
则(x)在[a,b]上存在唯一的不动点x*,且对于任意初值
... 发散
简单迭代法的思想
7/32
•由方程f(x)=0变换为等价方程 x=(x) (#)
x*是方程f(x)=0的根
x*是方程x=(x)的根
x*为(x) 的不动点
即:x*= (x*)
先取一个估计值x0(初始值),若(x0) =x0,则 x*=x0(可能性很小)一般(x0) ≠x0, 记 x1=(x0) ,
0
x0=1.50000
1
x1=1.35721
2
x2=1.33086
3
x3=1.32588
4
x4=1.32494
5
x5=1.32476
6
x6=1.32473
7
x7=1.32472
8
x8=1.32472
x*=1.32472 收敛
计算方法二③
6/32
xk+1=2(xk) =xk3-1
1.50000 2.37500 12.3976
迭代公式xk+1=(xk) 就收敛
计算方法二③
上面给出的迭代数列{xk}在整个区间[a,b]上收敛18,/通32 常称为全局收敛性。有时在整个区间上检验定理的条件 很困难,实际应用时通常在不动点x*的邻近考察其收敛 性——局部收敛性。
定义 如果存在不动点x*的某个邻域U(x*,δ),使得 对于任意初值x0∈ U(x*,δ),迭代公式xk+1= (xk) (k=0,1,2......)产生的数列{xk}均收敛于x*,则称迭代 公式xk+1= (xk)是局部收敛的。
据此反复递推有:| xk-x*|≤Lk|x0-x*|
故当 k→ ∞ 时,迭代值xk→x*(∵0<L<1)
计算方法二③
3)误差估计式
15/32
|xk+1-xk|=| xk+1-x* +x*- xk |
≥ |x*- xk|- | xk+1-x*|= |x*- xk|- | (xk) - ( x*)|
由(*)反复递推得: |xk+1-xk|≤Lk|x1-x0| 代入上述误差估
计式,得:
x* xk
Lk 1 L
x1 x0
计算方法二③
16/32
注1:定理2.1给出了一个收敛的迭代数列{xk}的误差 估计式。利用它,在给定精度ε>0后,只要计算到
L 1 L
|
xk

xk 1
|

就有:|x*-xk|<ε
定义 如果迭代误差 ek=(x*-xk),当k→∞时,有
lim
k
| |
ek 1 | ek |p

C
(C≠0,且为常数)
则称迭代过程是p阶收敛的。
特别地,当p=1,称为线性收敛;p>1时称为超线性收 敛;p=2时称为平方收敛。
计算方法二③
22/32
定理:对于迭代过程xk+1= (xk) ,如果(p)(x) 在所求根x* 的邻近连续,并且’(x*)= ’’(x*) =...= (p-1)(x*) =0,(#)
≥ |x*- xk|-L | xk-x*|= (1-L )| x*-xk|
∵0<L<1,∴有:
x* xk
1 1 L
xk 1 xk
再由条件2得: |xk+1-xk|=| (xk) - (xk-1) |≤L|xk-xk-1| (*)
代入上式得:
x* xk
L 1 L
xk xk 1
即由方程f(x)=0变换为等价方程 x=(x) (#)
这样原方程的根必满足:x*= (x*) ,即(x) 作用在x*
上,其值不发生变化,因此我们也称x*为(x) 的不动 点, (#)也称为不动点方程。要求方程f(x)=0的根就转 化为求(x) 的不动点了。具体作法如下:
先取一个估计值x0来试探,若(x0) =x0,则x*=x0(可能性很 小)一般(x0) ≠x0, 记 x1=(x0) ,若x1=(x1) , 则x*=x1
即:只要前后两次迭代值的差值足够小,就 可使近似值xk达到任意的精度要求。
特别地,当L≤1/2时,有不等式|x*-xk|≤|xk-xk-1|,此 时,只要|xk-xk-1| <ε,就可以终止迭代,求出满 足精度要求的近似根xk。
计算方法二③
17/32
注2:定理2.1的条件(2)不好验证,故不易使用, |(x) - (y)|≤L|x-y| (0<L<1)
4 0.5601 10 0.5669 16 0.5671
5 0.5712 11 0.5673 17 0.5671
计6算方法0二.56③49 12 0.5672 18 0.5671
20/32
四、迭代法的计算步骤 1)准备:确定迭代函数(x) 及初始值x0,为保证迭代 收敛,(x)须满足: |’(x)|<1,或 ’(x0)<1; 2)迭代:按迭代公式xk+1=(xk)计算出xk(k=1,2,…);
3)判断:若|xk-xk-1|< ε,则终止迭代,取x*≈xk;否
则,转2)继续迭代。
注:迭代法的优点:
作业:
1、算法逻辑结构简单;
P34 4、5
2、在计算中,初始值的误差或中间值的误差都不影响 最终计算结果。(迭代时可以自动修正)
计算方法二③
21/32
五、收敛速度与迭代公式的加速 (1)收敛速度 一种迭代法具有实用价值,不但要肯定它是收敛的, 还要求它收敛的比较快。所谓迭代过程的收敛速度, 是指在接近收敛时迭代误差的下降速度。
相关文档
最新文档