Professional Documents
Culture Documents
非线性方程的数值解法
§2.1.1 引言
方程求根特点
1. 根的存在性
2. 根的分布(有根区间)
3. 根的精确化
定理 2-1 :设函数 f(x) 在 [a, b] 内连续,且 f(a)*f(b)<0 ,
则在 [a, b] 内 f(x)=0 至少有一个根。 有根区间
定理 2-2 :设函数 f(x) 在 [a, b] 内连续,严格单调,
且 f(a)*f(b)<0 ,则在 [a, b] 内 f(x)=0 有且仅有一个根。
隔根区间
2
§2.1.2 二分法
二分法( Bisection Method )又叫对分法,是
一种直接法,直观、简单。
一 . 原理:定理 2-2
二 . 过程:将区间对分,判别 f (x) 的符号,逐步
缩小有根区间。
三 . 方法:
四 . 二分法收敛性
3
§2.2.1 迭代法
一 . 迭代格式的构造
改写方程: f ( x ) 0 x g( x ) 且 g 连续。
建立迭代格式:x n1 g( xn ) ,得到序列 xn
若 x n 收敛,必收敛到 f ( x ) 0的根:
lim xn 1 lim g ( x n ) g ( lim x n )
n n n
x g( x ) f ( x ) 0
4
§2.2.1 迭代法
四 . 整体收敛性
考虑方程 x g( x ), g ( x ) C [a , b], 若
(1)当x [a , b]时, g ( x ) [a , b];
( 2)0 L 1使得 g ( x ) L 1对x [a , b]成立。
则任取 x0 [a , b], 由x k 1 g ( x k )得到的序列x k k 0 收敛
5
§2.2.1 迭代法
五 . 局部收敛性
如果函数 g( x ) 在 x * 的一邻域 O( x*, *) 内连续
可微, x * 为方程 x g( x ) 的根,且 g ( x ) 1,
则存在正数 , *,
使得对任意 x0 [ x * , x * ],
迭代序列 x n1 g ( x n ) ( n 0,1,2...) 收敛于 x * 。
证明思路:
取[a , b] [ x * , x * ],于是只要验证全局收 敛性定理中
条件“当 x [a , b]时, g ( x ) [a , b]”成立,定理即得证。
6
§2.3 牛顿迭代法
本节内容 解 f(x)=0 的 Newton 迭代法
一. 迭代格式的构造
二. Newton迭代法的几何意义
三. Newton迭代法收敛定理
四. 牛顿迭代法N-S图
五. 简化牛顿法
六 . 牛顿下山法
7
§2.3 牛顿迭代法
牛顿迭代法( Newton - Raphson Method )
一般迭代法的特例,且迭代函数有固定的形
式。
一 . 迭代格式的构造
1. 原理
构造 g(x) 的一条重要途径:用近似方程代
替原方程求根。
牛顿法是将非线形方程线性化。
8
§2.3 牛顿迭代法
2. 方法 ——Taylor 展开线性化(重要思想)
设x k 是f ( x ) 0的一个近似根,将 f ( x )在x k 处做一
阶Taylor ( 泰勒)展开:
f ( x k )
f ( x ) f ( xk ) f ' ( xk ) ( x xk ) ( x xk )2
2!
f ( x ) f ( xk ) f ' ( xk ) ( x xk )
f ( x ) 0近似于 f ( x k ) f ' ( x k ) ( x x k ) 0
设f ' ( x ) 0,解出 x记为x k 1,则
f ( xk )
x k 1 xk ( k 0,1,2, )
f ' ( xk )
9
§2.3 牛顿迭代法
二 . Newton 迭代法的几何意义
过( x k , f ( x k ) )切线 y f ( x k ) f ' ( x k ) ( x x k )
与y 0 求交点,解出 x x k 1,则
f ( xk ) 实际上牛顿迭
xk 1 xk
f ' ( xk ) 代公式是曲线
在 xk 点上的切
线与 x 轴交点
的横坐标,即
用切线与 x 轴
交点的坐标近
似代替曲线与
x 轴的交点坐
标,故也称切
线法。
10
§2.3 牛顿迭代法
三 . Newton 迭代法收敛定理
1. 收敛的充分条件
有根
设 f C [a, b] ,若
2
根唯一
(1) f (a) f (b) < 0 ;
(2) 在整个 [a, b] 上 f ” 不变号且 f ’(x) 0 ;
(3) 选取 x0 [a, b] 使得 f (x0) f ”(x0) > 0 ;
则牛顿法产生的序列 { xk } 收敛到 f (x) 在 [a,
b] 的唯一根。
证明:以 f ( x ) 0, f ( x ) 0, 产生的序列单调
有界 , 保证收敛 .
f ( x 0 ) 0为例证明(其它情况类似 )
11
§2.3
将f ( )在牛顿迭代法
x 处泰勒展开k
f " ( k )
f ( ) f ( x k ) f ' ( x k )( x k ) ( x k ) 2 0
2!
f ( xk ) f " ( k )
xk ( x k ) 2
f ' ( xk ) 2 f ' ( xk )
f " ( k )
x k 1 ( x k ) 2 x k 1
2 f ' ( xk )
说明数列x n1 有下界
f ( xk )
又x k 1 xk x k,故 x k 1 单调递减。
f ' ( xk )
x k 1 收敛。设 lim x k 1 x,
n
f ( x)
则得到 x x , f ( x ) 0, x
f '( x)
12
§2.3 牛顿迭代法
2. 局部收敛性
设 f C 2 [a , b], 若x * 为 f ( x ) 在 [a , b] 上的根 , 且
f ( x*) 0, 则存在 x * 的邻域 S ( x*) 使得任取初
值 x0 S ( x*),牛顿法产生的序列 x k 收敛到
x *,且满足
x * x k 1 f ( x*)
lim
k ( x * x )
k
2
2 f ( x*)
13
§2.3 牛顿迭代法一种特殊的不动点迭代
证明:牛顿法事实上是
f ( x) 此时可直接使用
其中g ( x ) x ,则
f ( x ) 定理 2-5
f ( x*) f ( x*)
g ( x*) 0 1 收敛
f ( x*)
2
由 Taylor 展开:
f ( k )
0 f ( x*) f ( x k ) f ( x k )( x * x k ) ( x * xk )2
2!
f ( xk ) f ( k )
x* x k ( x * xk )2 在单根 /*simple
f ( x k ) 2! f ( x k )
root */ 附近收敛
xk 1 快
x * x k 1 f ( k ) 只要 f ’(x*) 0 ,则令
k
( x * xk )2 2 f ( x k )
可得结论。
14
§2.3 牛顿迭代法
3. x 的选取对牛顿法收敛性的影响
0
即:牛顿法的收敛性依赖于 x0 的选取。
取 x0 使 f ( x0 )f'' ( x0 )>0 ,则收敛速度增
大。常
用二分法获取初值 x0 ,再进行迭代求解。
迭代过程中若 f’(x0)≈0 或迭代次数超过某个
上
界 M, 仍达不到要求的精度 , 则迭代计算
x x x
失败。
0 0 0
x*
15
§2.3 牛顿迭代法
例1:
x
用牛顿法求 f ( x ) e 4
( 2 x ) 1 0 的根。
解:显然, f (0) f ( 2) 0, 方程于[0,2]内有一根。
x
求导f ( x ) e 4
( x 6) / 4
牛顿法计算公式为
xk
e 4
( 2 xk ) 1
x k 1 x k xk
(k 0,1,2, )
e 4
( x k 6) / 4
(1)取x 0 1.0,计算结果见下页左表 。
( 2)取x 0 8.0,计算结果见下页右表 。
16
§2.3 牛顿迭代法
k xk k xk
0 1.0 0 8.0
1 1.155999 1 34.778107
2 0.189438 2 869.1519
3 0.714043
4 0.782542
5 0.783595
6 0.783596 发散
求得近似根 x* 0.783596, f ( x6 ) 3.8 10 8 。
说明当初值 x0 选取靠近根 x * 时牛顿法收敛且收敛较 快,当初
值x0不是选取接近方程根时 ,牛顿法可能会给出发 散的结果。
17
§2.3 牛顿迭代法
改进与推广
弦截法 /* Secant Method */
下山法 /* Descent Method */ :牛顿法局部微
调
18
§2.3 牛顿迭代法
四 . 牛顿迭代法 N-S 图
定义函数 f(x)=….
定义导数函数
f1(x)=….
读入数据 x0,eps
x= x0-f(x0)/f1(x0), k=1
|x-x0|>=eps
输出 k,
x
k=k+1
x0=x
x= x0-f(x0)/f1(x0)
结束
19
§2.3 牛顿迭代法
五 . 简化牛顿法
21
§2.3 牛顿迭代法
将牛顿迭代法与下山法 结合起来使用,
即在下山法保证函数值 下降的前提下,用
牛顿迭代法加快收敛速 度。把这一算法称
为牛顿下山法。即
f ( xk )
xk 1 xk
f ( xk )
其中 (0 1)为下山因子
22
§2.3 牛顿迭代法
下山因子的选择是个逐 步探索的过程,
设从 1 开始反复将 减半进行试算,即
逐次取 为
1 1
1, , 2 ,
2 2
从中挑选下山因子,直 到找到其中某个
使单调性条件
f ( xk 1 ) f ( xk )
成立,则称“下山成功 ”,否则“下山失败” ,
这时需另选初值重算。 P43 :例 2-
17 23
§2.4 弦截法
本节内容
一 . 引入意义 正割法
二 . 弦截法基本思想
三 . 弦截法几何意义
四 . 弦截法算法实现
24
§2.4 弦截法
一 . 引入意义
牛顿迭代法虽然具有收敛速度快的优点,但每迭
代一次都要计算导数 f ( x k ) f, (x
当)
比较复杂时 , 不仅每次计算
f ( x k ) 带来很多
不便,而且还可能十分麻烦,如果用不计算导数
的迭代方法,往往只有线性收敛的速度。本节介
绍的弦截法便是一种不必进行导数运算的求根方
法。弦截法在迭代过程中不仅用到前一步 xk
处的函数值,而且还使用
xk 1 处的函数值
来构造迭代函数,这样做能提高迭代的收敛速度。
25
§2.4 弦截法
二 . 弦截法基本思想
为避免计算函数的导数 f ( x k ),使用差商
f ( xk ) f ( xk 1 )
( xk xk 1 )
代替牛顿公式中的导数 f ( x k ),即得到迭代公式
f ( xk )
xk 1 xk ( xk xk 1 )
f ( xk ) f ( xk 1 )
( k 1,2,)
称为正割法迭代公式, 相应的迭代法称为正割 法。
26
§2.4 弦截法
三 . 弦截法几何意义
正割法也称弦截法,其 几何意义是用过曲线上 两
点P0 ( x0 , f ( x0 ))、P1 ( x1 , f ( x1 ))的割线来代替曲线,
用割线与 x轴交点的横坐标作为方 程的近似根 x2
再过P1点和点P2 ( x2 , f ( x2 )) P1
P3
满足精度要求的 xk P0 P2
27
§2.4 弦截法
例:用弦截法解方程的根
3
x 3x 1 0
f (x k )
由弦截法 xk 1 xk (x k x k 1 )
f (x k ) f (x k 1 )
取初值 x 0 0.5,得
弦截法迭代 5 次
x0=0.5; x1=0.4; x4 = 0.3472965093
-8
x2 = 0.3430962343 x5 = 0.3472963553 达到精度 10
x3 = 0.3473897274 x6 = 0.3472963553
28
输 入 x 0 , x 1 ,,ε ,N
§2.4 弦截法 1 k
四 . 弦截法算法实现 f (x0) 0 ?
y
x0 x 2
n
y
f (x1) 0 ? x1 x 2
n
y
k+ 1 k f (x1) f (x0) 0 ?
x1 x0 n
x2 x1
f(x f (x1)
1) f(x 0) x1 (x1 x0) x 2
f(x 2) f(x 1)
f (x1) f (x0)
y
x 2 x 1 ?
n
y
k< N ?
n
输 出 奇
输 出 迭 代 输 出 x 2 异 标 志 输 出 x 2
失 败 标 志
结 束
29
小结
§2.1.1 引言
§2.1.2 二分法
§2.2.1 迭代法
§2.2.2 迭代法的收敛速度和加速方法
§2.3 牛顿迭代法
§2.4 弦截法
30
第二章 作业
1
3
6
16
31