科学计算方法3(不动点迭代)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
| x1* x2* || ( ) | | x1* x2* | L | x1* x2* |
与L<1 条件矛盾
故不动点唯一。
11/25
定理2.3 如果( x)在[a, b]上具有连续的一阶导数, 满足 (1)a ( x) b和(2)对任意x (a, b)有 | ( x) | L 1。 则对任意的x0 [a, b], 迭代格式xn+1 ( xn )产生的序列
证 若(a) a 或(b) b ,显然 ( x) 有不动点 设 (a) a , (b) b 则有(a) a, (b) b
记 ( x) ( x) x 则有 (a) (b) 0
所以, 存在 x*使得 ( x*) 0 即 x* ( x* ), 故 x* 是 ( x)的不动点。
14/25
迭代格式 xn1 ( xn )
收敛性
| ( x* ) | 1
15/25
例2 用不同迭代格式求方程 x2-3=0的根。
(a)
(x)
x
1 4
(x2
3)
( x)
1
1 2
x,
则 ( x* ) 1
3 2
0.134 1
(b)
(x)
1 2
(
x
3 x
)
( x)
1 2
(1
3 x2
),
则 ( x* ) 0
什么样的迭代格式收敛?
7/25
中值定理: 若函数f(x) 满足: (1)在[a,b]连续; (2)在(a,b)可导; 则在 (a, b) 内至少存在一点 ,使得
f ( ) f (b) f (a)
ba
8/25
ቤተ መጻሕፍቲ ባይዱ
引理2.1 如果( x)在[a, b]上具有连续的一阶导数, 满足 (1) a ( x) b 和 (2)对任意x (a, b)有 | ( x) | L 1 则 ( x)在[a, b]有唯一的不动点x*。
x*称为不
等价变换
动点
f (x*) 0
x* ( x*)
xn ( xn1 )
f (x) 的根
(x) 的不动点
对于f(x)=0, 不动点可以构造为:
(x) x f (x) (x) x (x) f (x)
4/25
不动点迭代(Fixed Point Iteration)
选择适当的初始值x0,按照如下的迭代格式计算:
xn1 (xn ),x0 1.5 ( n = 0, 1, 2, ······)
(2) x 10/(x 4) (x) 10/(x 4)
xn1 (xn ), x0 1.5 ( n = 0, 1, 2, ······)
6/25
xn1 10 / xn 4 xn
xn1
10 xn 4
n xn
x (x)
xn1 ( xn ), n=0,1,2,
基本思想是将非线性方程求解归结为一系 列显式的函数值计算。
如果数列{xn}满足 。
x*
lim n
x,n 则称迭代格式收敛
5/25
例1 方程 x3 + 4x2 – 10 = 0 在 [1, 2] 上有一个根,
构造求根的不动点迭代格式。
(1) x 10 / x 4x ( x) 10 / x 4x
(c) ( x) x2 x 3
( x) 2 x 1, 则 ( x* ) 2 3 1 1
(d) ( x) 3 / x, 则( x* ) 1 16/25
xk
(a)
(b)
(c)
(d)
x0
2
2
2
2
x1
1.7500
1.7500
3
1.5000
x2
1.7344
1.7321
9
2
x3
1.7324
{ xn }收敛到不动点x*。
证 xn ( xn1 )
x*
( x* )
| xn x* | | (xn1) (x*) |
| ( ) | | xn1 x* |
L | xn1 x* |
压缩映像
12/25
| xn x* | Ln | x0 x* |
lim
n
|
xn
x*
|
lim
n
Ln
|
x0
| xn – x* |
0 1.5000
1 0.8165 0.5487
2 2.9969 1.6317
3 (-8.65)1/2
n xn | xn - x* | 0 1.5000 1 1.3484 0.0168 2 1.3674 0.0022 3 1.3650 2.0e-04 4 1.3653 1.0e-04 5 1.3652 0 6 1.3652 0
x*
|
0
( 0<L<1 )
所以 迭代格式收敛
lim
n
xn
x*
迭代什么时候终止呢?
13/25
局部收敛定理
定理2.5 设x*为( x)的不动点, ( x)在x*的某邻域连 续且 ( x* ) 1, 则对任意x0属于此邻域,迭代格式 xn+1 ( xn )产生的序列{ xn }收敛到不动点x*。
9/25
10/25
如果 ( x) 有两个不同的不动点 x1* x2* 则有
x1* ( x1* )
x2*
(
x
* 2
)
两式相减得
x1* x2* ( x1* ) ( x2* )
由拉格朗日中值定理知, 存在
介于
x1*和
x
* 2
之间
x1* x2* ( x1* ) ( x2* ) ( )( x1* x2* )
1/25
引子 Matlab中输入任意的数字x=your number。 Matlab 中 输 入 命 令 x=sqrt(1+x) 。 命 令 计 算 (1+x)1/2并用最新的结果替代以前的结果。重复上 述过程(up-arrow键)得到结果是什么?
2/25
Matlab中等号是赋值算子。重复上述过程得到 如下最后结果为1.6180(黄金比例 )。
证明 : 由连续函数的局部保号性, 存在x*的某个邻域
R : |x-x*|< ,使对于任意x R满足|( x)| L 1。
(局部保号性) 若函数f 在点x*连续且f (x* )>0, 则对任何
正数r f ( x* ),存在某个邻域R :| x - x* | , 使得对一切
x R有f ( x) r。
而数学中等号的意思有所不同。方程
x 1 x
的根称为函数 f(x)=(1+x)1/2的不动点。函数f(x) 有一个不动点(1+(5)1/2)/2。
启示: 两种不同的思路计算方程的根: 1) 寻 找根的显式计算公式; 2)通过重复简单的不 动点计算并赋值来逐步逼近方程的解。
3/25
不动点迭代(Fixed Point Iteration)