f(x)=0 根或 f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。
DESCRIPTION
第七章 求方程根的近似方法. 引 言. f(x)=0 根或 f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。. 先我们看一看以下的具体例题. 一、提出问题. 能否求解下列方程. ( 1 ) lg x =3- x ,. ( 2 ) x 2 -2 x -1=0 ,. ( 3 ) x 3 +3 x -1=0. 能否解出上述方程的近似解?(精确到 0.1 ). - +. f(2)0 2TRANSCRIPT
f(x)=0 根或 f(x) 零点,当 f(x) 复杂时,很难求(找近似有效简单方法)。
先我们看一看以下的具体例题
第七章 求方程根的近似方法
引 言引 言
一、提出问题
能否求解下列方程
能否解出上述方程的近似解?(精确到 0.1 )
( 2 ) x2-2x-1=0 ,
( 3 ) x3+3x-1=0 .
( 1 ) lgx=3-x ,
的一个正的近似解 . (精确到 0.1 )
二、方法探究x2-2x-1=0
- +
2 3f(2)<0 , f(3)>0 2<x1<3
- +
2 2.5 3f(2)<0 , f(2.5)>0 2<x1<2.5
- +
2 2.25 2.5 3f(2.25)<0 , f(2.5)>0 2.25<x1<2.5
- +
2 2.375 2.5 3f(2.375)<0 , f(2.5)>0 2.375<x1<2.5
- +
2 2.375 2.475 3
f(2.375)<0 , f(2.4375)>0 2.375<x1<2.4375
(1) 不解方程,如何求方程
( 2 )能否简述上述求方程近似解的过程 ?
( 3 )二分法( bisection method ):象上面这种求方程近似解的方法称为二分法,它是求一元方程近似解的常用方法。
三、自行探究
利用计算器,求方程 lgx=3 - x 的近似解 . (精确到 0.1 )
解:画出 y=lg x 及 y=3 -x 的图象,观察图象得,方程 lgx=3 - x 有唯一解,记为 x ,且这个解在区间( 2 , 3 )内。
设 f (x)=lgx+x -3
因为 2.5625 , 2.625 精确到 0.1 的近似值都为 2.6 ,所以原方程的
近似解为 x1≈2.6 .
根所在区间 区间端点函数值符号 中点值 中点函数值符号
( 2 , 3 ) f(2)<0 , f(3)>0 2.5 f(2.5)<0
( 2.5 , 3 ) f(2.5)<0 , f(3)>0 2.75 f(2.75)>0
( 2.5 , 2.75 ) f(2.5)<0 , f(2.75)>0 2.625 f(2.625)>0
( 2.5 , 2.625 ) f(2.5)<0 , f(2.625)>0 2.5625 f(2.5625)<0
( 2.5625 , 2.625 )f(2.5625)<0 , f(2.625)>0
四、归纳总结
用二分法求方程 f(x)=0 (或 g(x)=h(x) )近似解的基本步骤 :
1 、寻找解所在区间
( 1 )图象法先画出 y= f(x) 图象,观察图象与 x 轴的交点横坐标所处的范围;或画出 y=g(x) 和 y=h(x) 的图象,观察两图象的交点横坐标所处的范围。
( 2 )函数性态法
把方程均转换为 f(x)=0 的形式,再利用函数 y=f(x) 的有关性质(如单调性),来判断解所在的区间。
2 、不断二分解所在的区间
若 0)(,0)(),,(1 bfafbax 不妨设
( 3 )若 ,0)2
( ba
f
对 (1) 、 (2) 两种情形再继续二分解所在的区间 .
( 1 )若 ,0)2
( ba
f
( 2 )若 ,0)2
( ba
f
0)( af由 , )2
,(1
baax
则
0)( bf由 , ),2
(1 bba
x
则
21
bax
则
3 、根据精确度得出近似解
),(1 nmx 当 ,且 m, n 根据精确度得到的近似值均为同
一个值 P 时,则 x1≈P ,即求得了近似解。
课堂小结
对某一类问题(不是个别问题)都有效,计算可以一步一步地进行,每一步都能得到惟一的结果,
如果一种计算方法
我们常把这一类问题的求解过程叫做解决这一类问题的一种算法。
算法:
算法特点: 算法是刻板的、机械的,有时要进行大量的重复计算, 但它的优点是一种通法,只要按部就班地去做,总会算出结果。 更大的优点是它可以让计算机来实现。
设连续函数 设连续函数 ff((xx) ) 在在 [[aa,,bb]] 内仅有一根 内仅有一根 , , ff((aa))
ff((bb)<0 , )<0 , 可取其中点为近似根 可取其中点为近似根 , , 记为 记为 xx0 0 , , 其其误误
差为 差为 ((bb--aa)/2)/2 。。
§7.1 区间二分法
x
y
0a
b
f(x)
x
若误差符合要求 , x0 便可接受 . 否则取 a, b 中函数值与 x0 的函数值异号者跟 x0 构成新的求根区间 , 记为 [a1,b1].
重复以上做法,得新近似根 x1, …
这样不断将区间分半 , 得到一系列区间 [an,bn], 和近似根
( 区间中点 ) xn , n=0,1,2,3…, xn 误差为 (b-a)/2n+1, 区间
[an,bn] 长的一半 , xn→ξ.
根分离:画草图,试算 . 多项式方程根的模
的上下界。
理 论 : f(x) ∈ C[a,b],单调, f(a)f(b)<0
f(x)=0 在 (a,b) 有唯一根。
例 2.1 用二分法求 在 (1,2) 内的根,要求绝对误差不超过 解: f(1)=-5<0 有根区间 中点 f(2)=14>0 -(1,2)+
f(1.25)<0 (1.25,1.5) f(1.375)>0 (1.25,1.375) f(1.313)<0 (1.313,1.375) f(1.344)<0 (1.344,1.375) f(1.360)<0 (1.360,1.375) f(1.368)>0 (1.360,1.368)
0104 23 xx210
2
1
f(1.5)>0 (1,1.5)
nx 1.51 x
364.1
368.1
360.1
344.1
313.1
375.1
25.1
8
7
6
5
4
3
2
x
x
x
x
x
x
x
364.18* xx若取近似根
2* 102
1004.0)360.1368.1(
2
1|| xx
优点:条件简单 .缺点:收敛慢 . 不易求偶数重根 . 如图
,则
(事后估计)
x
y
1. : ( ) 0
( ) (
f x
x x f
建立 改写等价方程
, , 连续)
0
1
,...)2,1,0( )(
x
nxx nn
取定初值
一 . 迭代法的建立与收敛性
§7.2 迭代法
1 2 1 , ,..., , ...,
n nx x x x
则产生数列
若该数列收敛,设极限为 ,则
1lim lim ( ) n nn nx x
( )
1
( ) 0
, n
f x
n x
即 是 之根,
故当 充分大时 可作为近似值
( )x问题: 形式不唯一?
3 1 0x x 例 1 求方程 在 x=1.25附近的一个根。
左表记录了各步迭代的结果。如果仅取 6位数字,那么,由表可知, x7
与 x8完全相同。 这时可认为 x8
实际上已满足方程。
从而得到所求根为 x*=1.32472
2.收敛定理(定理 2.2 )
],[)( baCx 设
为常数)LLxbax (1|)('|],,[)2(
01
10
1||3
(],,[2
],[)(1
xxL
Lx
xxbax
baxx
n
n
nn
)(
)收敛到)(;有唯一根在)方程则:(
;)(1 bxabxa 时,)当(
.
)(,0)('1)('
,0)(
],,[
,0)()(,0)()(
),()((1)
唯一故根递增,又
使故至少有
则设证:
xgxxg
g
ba
bbbgaaag
xxxg
(2)
1nx ,故收敛。 )(
001
12
时当
n
xLxL nn
中值定理
n
nnnn
xL
xxx ))((')()(1
( * )1
--
)式(由(*)
(*) -
式)由(*)
(*) 中值定理
011
2
1
111
11
11
11
2
31
1
)1(
1 (
)()(
2))(('
)()(
xxL
Lxx
L
L
xxL
x
xLxLx
xxxxxx
xxLxx
xxxx
n
nn
nnn
nnn
nnnnnn
nnnnn
nnnn
(3)
注: L 越小,收敛越快。
3.编程停机判断
)(1 nn xx (取定初值0x )计算,当
nn xx 1 时,由(*) 3 式知
L1
1
-nx
比较小,此时停机, 1nx
二、迭代加速公式(略)
由
原理:将非线性方程线性化 —— Taylor 展开 /* Taylor’s expansion */
取 x0 x* ,将 f (x) 在 x0 做一阶 Taylor 展开 :
20000 )(
!2
)())(()()( xx
fxxxfxfxf
, 在 x0 和 x
之间。将 (x* x0)2 看成高阶小量,则有:
)*)(()(*)(0 000 xxxfxfxf )(
)(*
0
00 xf
xfxx
线性 /* linear */
x
y
x*x0
)(
)(1
k
kkk xf
xfxx
只要 f C1 ,每一步迭代都有 f ’( xk ) 0 , 而且 ,则 x* 就是 f 的根。
*lim xxkk
§7.3 Newton 迭代法
定理 (收敛的充分条件)设 f C2[a, b] ,若
(1) f (a) f (b) < 0 ; (2) 在整个 [a, b] 上 f ” 不变号且 f ’(x) 0 ;
(3) 选取 x0 [a, b] 使得 f (x0) f ”(x0) > 0 ;
则 Newton’s Method 产生的序列 { xk } 收敛到 f (x) 在 [a, b] 的唯一根。有根 根唯一 产生的序列单调有
界,保证收敛。定理 (局部收敛性)设 f C2[a, b] ,若 x* 为 f (x) 在 [a, b] 上的根,且 f ’(x*) 0 ,则存在 x* 的邻域 使得任取初值 , Newton’s Method 产生的序列 { xk } 收敛到 x* ,且满足
*)(xB
*)(0 xBx
*)(2
*)(
)*(
*lim
21
xf
xf
xx
xx
k
k
k
证明: Newton’s Method 事实上是一种特殊的不动点迭代 其中 ,则
)(
)()(
xf
xfxxg
10
*)(
*)(*)(*)(
2 xf
xfxfxg 收敛
由 Taylor 展开:2)*(
!2
)()*)(()(*)(0 k
kkkk xx
fxxxfxfxf
2)*()(!2
)(
)(
)(* k
k
k
k
kk xx
xf
f
xf
xfxx
1kx
)(2
)(
)*(
*2
1
k
k
k
k
xf
f
xx
xx
只要 f ’(x*) 0 ,则令 可得结论。
k
在单根 /*simple root *
/ 附近收敛快
注:注: Newton’s Method 收敛性依赖于 x0 的选取。注:注: Newton’s Method 收敛性依赖于 x0 的选取。
x*x0x0
x0
改进与推广 /* improvement and generalization */ 重根 /* multiple root */ 加速收敛法:
Q1: 若 , Newton’s Method 是否仍收敛?0*)( xf
设 x* 是 f 的 n 重根,则: 且 。
)(*)()( xqxxxf n 0*)( xq
因为 Newton’s Method 事实上是一种特殊的不动点迭代,
其中 ,则)(
)()(
xf
xfxxg
2
2
*)(
*)(*)(*)(1|*)(|
xf
xfxfxfxg 1
11
n
A1: 有局部收敛性,但重数 n 越高,收敛越慢。Q2: 如何加速重根的收敛?A2: 将求 f 的重根转化为求另一函数的单根。
令 ,则 f 的重根 = 的单根。)(
)()(
xf
xfx
正割法 /* Secant Method */ :Newton’s Method 一步要计算 f 和 f ’ ,相当于 2 个函数值,比较费时。现用 f 的值近似 f ’ ,可少算一个函数值。
x0x1
切线 /* tangent line */
割线 /* secant line */
切线斜率 割线斜率1
1 )()()(
kk
kkk xx
xfxfxf
)()(
))((
1
11
kk
kkkkk xfxf
xxxfxx 需要 2 个初值 x0 和
x1 。
收敛比 Newton’s Method 慢,且对初值要求同样高。
下山法 /* Descent Method */ ——Newton’s Method 局部微调:
原理:若由 xk 得到的 xk+1 不能使 | f | 减小,则在 xk 和 xk+1 之间找一个更好的点 ,使得 。1kx )()( 1 kk xfxf
xk xk+1
,)1(1 kk xx ]1,0[)(
)(
)1(])(
)([1
k
kk
kk
kkk
xf
xfx
xxf
xfxx
注:注: = 1 时就是 Newton’s Method 公式。
当 = 1 代入效果不好时,将 减半计算。注:注: = 1 时就是 Newton’s Method 公式。
当 = 1 代入效果不好时,将 减半计算。
过 ))(,( nn xfx 切线
)()(')( nnn xxxfxfy
与 0y 求交点,解出
1n
xx , 则
)('
)(1
n
nnn xf
xfxx
2.Newton迭代法的几何意义
3.Newton 迭代法收敛定理(定理 7.1 )
0)( xf 在 ba, 有根 α,且 )(xf 在 ba,
( 1 ) )("),(' xfxf 连续,且分别不变号;
bax ,0 , 使
则 Newton 迭代法( 2.1 )产生的数列 1nx
的收敛到根 α。
( 2 ) 取初值
设
0)(")( 00 xfxf
0)(,0)(",0)('0
xfxfxf
为例证明(其它情况类似)
证: 以
2"( )( ) ( ) '( )( ) ( ) 0
2!n
n n n n
ff f x f x x x
将 在)(f nx 处 Taylor 展开
2
21 1
( ) "( )( )
'( ) 2 '( )
"( )( )
2 '( )
n nn n
n n
nn n n
n
f x fx x
f x f x
fx x x
f x
说明数列 1nx 有下界 α
又 n
n
nnn x
xf
xfxx )('
)(1 故 1nx 单调递减。
1 nx 收敛。设 xxnn 1lim
则由( 2.1 ), xxfxf
xfxx ,0)(,
)('
)(
,
例 2.2
解:设 ,0, 2 cxcx 则
取 cxxf 2)( ,则由( 2.1 )
)(2
1
2
2
1
n
n
n
nnn x
cx
x
cxxx
)0( cc用 Newton 迭代法求
§7.4 弦截法
牛顿法的突出优点:收敛速度快。
缺点:需要计算导数 。若计算 较困难,则用牛顿法不方便。
)(xf )(xf
为避免计算 ,可用差商 近似代替 ,于是得
)(xf 0
0 )()(
xx
xfxf
k
k
)( kxf
弦截法的迭代格式:
)()()(
)(0
01 xx
xfxf
xfxx k
k
kkk
上式有明显的几何意义:
设曲线 y=f(x) 上横坐标为 x0 和 xk 的点分别为
P0 和 Pk ,则差商
0
0 )()(
xx
xfxf
k
k
表示弦 的斜
率 ,弦 的方程为kPP0
)()()(
)(0
0k
k
kk xx
xx
xfxfxfy
kPP0
Ox*
xk+1
xk
Pk
P0
x0
x
yy=f(x)
可见,前述迭代格式求得的 xk+1 实际上是弦
与 x 轴交点的横坐标(令 y=0 解出 x即可)
kPP0
因而此法可形象地称为弦截法。
弦截法的收敛速度比牛顿法慢得多。为了
加快收敛速度,我们改用差商 来
代替牛顿迭代格式中的 。于是得到1
1)()(
kk
kk
xx
xfxf
)( kxf
快速弦截法
迭代格式:)(
)()(
)(1
11
kk
kk
kkk xx
xfxf
xfxx
快速弦截法也是迭代法。不过,前面讨
论的迭代法在计算 xk+1 时只用到上一步的结
果 xk (一步迭代)。而快速弦截法则是一种
多步迭代(两步迭代:在计算 xk+1 时要用到
前两步的结果 xk 和 xk-1 ,因此在使用快速弦截
法时,必须给出两个初始近似根 x0 和 x1 )。
例 用快速弦截法求方程
的根。设方程的两个初始近似根为 x0=0.5 , x1=0.6
01 xxe
表 2—5
k xk xk-xk-1
0 0.5
1 0.6 0.1
2 0.56532 -0.03468
3 0.56709 0.00177
4 0.56714 0.00005
与例 1 ( P285 )中牛顿法的计算结果相比较,可以看出快速弦截法的收敛速度也是相当快的,迭代到第 4步就得到精度 的结果。
410
基本要求
1.熟悉区间=分法;2.熟悉迭代法的建立,会使用收敛定理;3.熟悉Newton迭代法及其几何意义和收敛条件。
作业: 作业集 第七章习题
1 、 2 、 3 、 4、 6