《数值分析》4
主要内容: Newton迭代格式
Newton迭代法的收敛性
Newton迭代法收敛速度
弦截法迭代格式
设 x
*是方程 f(x)=0 的根, x
0是 x
*的近似值。在 x
0附近 ,对 函数做局部线性化 (Taylor展开)
) )(
( )
( )
( x f x
0f x
0x x
0f
x
1比 x
0更接近于 x*
x
0x x
*0 )
)(
( )
( x
0 f x
0x x
0 f
f(x) = 0
) (
) (
0 0 0
1
f x
x x f
x
Newton迭代格式
) (
)
1 (
n n n
n f x
x x f
x (n = 0, 1, 2, ···)
牛顿迭代格式
给定初值
x0 , 迭代产生数列x0, x1, x2,···, xn,···
应用——
求正数平方根算法
设
C > 0, x C x2 – C = 0令
f(x) = x2 – C , 则 f ( x) 2 xn n n
n
x
C x x
x 2
2 1
[ ]
2
1
1
n n
n
x
x C
x
Newton迭代格式
初值
: x0=1.5迭代格式
: xn+1=0.5(xn+2/xn) (n = 0,1,2,···)引例
. 平方根算法求 2xn Error 1.416666666666667 2.45e-003 1.414215686274510 2.12e-006 1.414213562374690 1.59e-012 1.414213562373095 2.22e-016 1.414213562373095 2.22e-016
表1 平方根算法实验
Newton迭代格式
由此可知
, 平方根算法具有 2 阶收敛速度
n n
n
x
x x
2 1 )
2 (
2
2
1
2 2
1
| 2
|
| 2
lim |
1 2
n
n
n
x
x
2 2 ]
2 [ 2 1
1
n n
n
x x
x
2
2
( 2 )
2 ] 1
2 2
2 2 [
1
nn n
n n
x x x
x x
2 lim
n
n
x
牛顿迭代法是否都收敛? 条件?
Newton迭代法的收敛性
Newton迭代法的 局部收敛性
定理
2.7 设 f(x) 在点x*的某邻域内具有二阶连续导数,且设
f(x*)=0, f ’(x*) ≠ 0, 则对
充分靠近点
x*的初值x0, Newton迭代法至少平方收敛
.) (
)
1
(
n n n
n
f x
x x f
x
) (
) ) (
( f x
x x f
x
0 )]
( /[
) (
) (
)
(
*
*
*
* 2
x f x f x f x
所以
, Newton迭代法至少平方收敛(第3讲定理2.6)) (
) ) (
(
* **x f
x
x f
Newton迭代法的收敛性
例 2. 求
x3 +10x – 20 =0 在 x0=1.5 附近的根解
:取f ( x ) x
3 10 x 20
10 3
20 10
2 2 3
1
n n n n
n x
x x x
x
牛顿迭代格式
则有
f
(x)
3x2
10n xn | xn+1 – xn | 0 1.5
1 1.59701492537313 9.7015e-002 2 1.59456374876881 2.4512e-003 3 1.59456211663188 1.6321e-006 4 1.59456211663115 7.2298e-013
表2 牛顿迭代法实验
和不动点比,速度如何?(第3讲例2)
Newton迭代法的收敛性
缺陷
1.被零除错误
2.程序死循环
y = arctan x
对
f(x) = arctan x存在
x0, 使Newton迭代法陷入死循环
f(x)=x3 –3x + 2 = 0
在
x*=1附近, f x( ) 03.其它
Newton迭代法的收敛速度
x0
y x1 x2 x3
y=x3 – x – 3
x
Newton迭代法陷入死循环的另一个例子(可能若干步后 才陷入死循环)
1 3
3
2 3
1
n n n n
n x
x x x
x
取 x
0=0,
(n = 0, 1, ···)Newton迭代法的收敛速度
f’<0, f”>0 f’>0, f”>0
f’>0, f”<0 f’<0, f”<0
牛顿迭代法收敛的四种情况
Newton迭代法的收敛速度
定理2.8 若函数
f(x) 在[a,b] 上满足条件则方程
f(x) = 0 在[a,b] 上有唯一根
x*,且由初值
x0按牛顿迭
代公式求得的序列
{xn}二阶收敛于
x*。
(
1)f(a) f(b) < 0;(
2)f ’(x),f ”(x) 在[a,b]上连续且不变号(恒为正或恒为负);
(
3)取x0∈
[a,b] 使得 f(x0)f ”(x
0) > 0 (不证)
Newton迭代法的收敛速度
0 )
)(
2 ( ) 1
)(
( )
( )
( x
* f x
k f x
kx
* x
k f
kx
* x
k 2
f
2
*
*
( )
) (
2
) ] (
) (
)
[ (
kk k k
k k
x x
x f
f x
f
x x f
x
2 1 *
*
( )
) (
2
) (
k k
k k
x x
x f
x f
x
| ) (
| 2
| ) (
|
| ) (
| 2
| ) (
lim | )
(
|
lim |
1 * *2 **x f
x f
x f
f x
x
x x
k k k k
k
k
Newton迭代法的收敛速度
例3.已知方程 有两根:
取根附近值做初值,分析牛顿迭代法实验的数据。
0 2
3
3 x
x
* 2
1
x x*2
1表
3 初值取 – 1.5 时牛顿迭代法速度n xn | en | | en+1 |/| en |2 0 -1.5 5.00e-001
1 -2.33333333333 3.33e-001 1.3333 2 -2.05555555555 5.55e-002 0.5000 3 -2.00194931773 1.94e-003 0.6316 4 -2.00000252829 2.52e-006 0.6654 5 -2.00000000000 4.26e-012 0.6667
Newton迭代法的收敛速度
表
4 初值取 1.5 时牛顿迭代法速度n xn | en | | en+1 |/| en | 0 1.5 5.00e-001
1 1.2666666 2.66e-001 0.5333 2 1.1385620 1.38e-001 0.5196 3 1.0707773 7.07e-002 0.5108 4 1.0357918 3.57e-002 0.5057 5 1.0180008 1.80e-002 0.5029 6 1.0090271 9.02e-003 0.5015 7 1.0045203 4.52e-003 0.5007 8 1.0022618 2.26e-003 0.5004 9 1.0011313 1.13e-003 0.5002 10 1.0005657 5.65e-004 0.5001
为什么这么慢?
Newton迭代法的收敛速度
引理
1设
x*是
f(x)=0 的二重根, 则牛顿迭代法只具有一阶收敛证
: x*是二重根
f(x)=(x – x*)2g(x))]
( )
( )
( 2 )[
( )
( x x x
*g x x x
*g x
f
) ( )
( )
( 2
) ( ) ) (
(
* *x g
x x
x g
x g x
x x
x
2 1 1
)
(
*
x
牛顿迭代法只是一阶收敛
.表明:当有重根时,传统牛顿法二阶收敛性 质不成立!
Newton迭代法的收敛速度
n xn | en | | en+1 |/| en |2 0 1.5 5.00e-001
1 1.03333333333 3.33e-002 0.1333 2 1.00018214936 1.85e-004 0.1639 3 1.00000000552 5.52e-009 0.1667
引理
2若
x*是
f(x)=0 的 m 重根,修正的牛顿迭代法) (
)
1
(
n n n
n
f x
x m f
x
x
为至少二阶收敛
表
5 x*为二重根时修正的牛顿迭代实验
(例3) ( ) ) 2 (1 n
n n
n f x
x x f
x
回到例3: m = 2
Newton迭代法的收敛速度
Ø
牛顿法有 ,只要(无重根)
就有 p 2。重根是线性收敛的。2 ( *)*) (
|
|
| lim | 12
x f
x f e
e
k k
k
f x( *) 0
Ø
牛顿法收敛性依赖于x0 的选取。初值充分接近根以保证局部收敛性。
Ø
相对简单。Ø
公式中需要求 f(x) 的导数。若 f(x)比较复杂,则 使用牛顿公式就大为不便。
Ø 零除、死循环 总结
优点:
缺点:
Newton迭代法的变形-弦截法(为避免计算导数)
) ) (
( )
(
)
(
11 1
n nn n
n n
n
x x
x f
x f
x x f
x
) (
)
1
(
n n n
n
f x
x x f
x
由于
代入牛顿迭代格式
n n
n
n nx x
x f x
x f
f
( ) ( ) ( 1)
-1