f(x)=0 根或 f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

40
f(x)=0 根根 f(x) 根根 f(x) 根根根 根根根 根根根根根根根根根根 根 ()。 根根根根 根根根根根根 根根 一体 根根根 根根根根根根根根根

Upload: xander

Post on 04-Jan-2016

76 views

Category:

Documents


2 download

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 2

TRANSCRIPT

Page 1: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

f(x)=0 根或 f(x) 零点,当 f(x) 复杂时,很难求(找近似有效简单方法)。

先我们看一看以下的具体例题

第七章 求方程根的近似方法

引 言引 言

Page 2: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

一、提出问题

能否求解下列方程

能否解出上述方程的近似解?(精确到 0.1 )

( 2 ) x2-2x-1=0 ,

( 3 ) x3+3x-1=0 .

( 1 ) lgx=3-x ,

Page 3: f(x)=0  根或  f(x) 零点,当 f(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) 不解方程,如何求方程

Page 4: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

( 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

Page 5: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

因为 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

Page 6: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

四、归纳总结

用二分法求方程 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) 的有关性质(如单调性),来判断解所在的区间。

Page 7: f(x)=0  根或  f(x) 零点,当 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 ,即求得了近似解。

Page 8: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

课堂小结

对某一类问题(不是个别问题)都有效,计算可以一步一步地进行,每一步都能得到惟一的结果,

如果一种计算方法

我们常把这一类问题的求解过程叫做解决这一类问题的一种算法。

算法:

算法特点:    算法是刻板的、机械的,有时要进行大量的重复计算,        但它的优点是一种通法,只要按部就班地去做,总会算出结果。                更大的优点是它可以让计算机来实现。

Page 9: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

设连续函数 设连续函数 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

Page 10: f(x)=0  根或  f(x) 零点,当 f(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→ξ.

Page 11: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

根分离:画草图,试算 . 多项式方程根的模

的上下界。

理 论 : f(x) ∈ C[a,b],单调, f(a)f(b)<0

f(x)=0 在 (a,b) 有唯一根。

Page 12: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

例 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

Page 13: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

364.18* xx若取近似根

2* 102

1004.0)360.1368.1(

2

1|| xx

优点:条件简单 .缺点:收敛慢 . 不易求偶数重根 . 如图

,则

(事后估计)

x

y

Page 14: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

1. : ( ) 0

( ) (

f x

x x f

建立 改写等价方程

, , 连续)

0

1

,...)2,1,0( )(

x

nxx nn

取定初值

一 . 迭代法的建立与收敛性

§7.2 迭代法

Page 15: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

1 2 1 , ,..., , ...,

n nx x x x

则产生数列

若该数列收敛,设极限为 ,则

1lim lim ( ) n nn nx x

( )

1

( ) 0

, n

f x

n x

即 是 之根,

故当 充分大时 可作为近似值

( )x问题: 形式不唯一?

Page 16: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

3 1 0x x 例 1 求方程 在 x=1.25附近的一个根。

左表记录了各步迭代的结果。如果仅取 6位数字,那么,由表可知, x7

与 x8完全相同。 这时可认为 x8

实际上已满足方程。

从而得到所求根为 x*=1.32472

Page 17: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

2.收敛定理(定理 2.2 )

],[)( baCx 设

为常数)LLxbax (1|)('|],,[)2(

01

10

1||3

(],,[2

],[)(1

xxL

Lx

xxbax

baxx

n

n

nn

)(

)收敛到)(;有唯一根在)方程则:(

;)(1 bxabxa 时,)当(

Page 18: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

.

)(,0)('1)('

,0)(

],,[

,0)()(,0)()(

),()((1)

唯一故根递增,又

使故至少有

则设证:

xgxxg

g

ba

bbbgaaag

xxxg

Page 19: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

(2)

1nx ,故收敛。 )(

001

12

时当

n

xLxL nn

中值定理

n

nnnn

xL

xxx ))((')()(1

( * )1

Page 20: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

--

)式(由(*)

(*) -

式)由(*)

(*) 中值定理

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 越小,收敛越快。

Page 21: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

3.编程停机判断

)(1 nn xx (取定初值0x )计算,当

nn xx 1 时,由(*) 3 式知

L1

1

-nx

比较小,此时停机, 1nx

二、迭代加速公式(略)

Page 22: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

原理:将非线性方程线性化 —— 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 迭代法

Page 23: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

定理 (收敛的充分条件)设 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

Page 24: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

证明: 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 *

/ 附近收敛快

Page 25: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

注:注: Newton’s Method 收敛性依赖于 x0 的选取。注:注: Newton’s Method 收敛性依赖于 x0 的选取。

x*x0x0

x0

Page 26: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

改进与推广 /* 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

Page 27: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

正割法 /* 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 慢,且对初值要求同样高。

Page 28: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

下山法 /* 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 代入效果不好时,将 减半计算。

Page 29: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

过 ))(,( nn xfx 切线

)()(')( nnn xxxfxfy

与 0y 求交点,解出

1n

xx , 则

)('

)(1

n

nnn xf

xfxx

2.Newton迭代法的几何意义

Page 30: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

3.Newton 迭代法收敛定理(定理 7.1 )

0)( xf 在 ba, 有根 α,且 )(xf 在 ba,

( 1 ) )("),(' xfxf 连续,且分别不变号;

bax ,0 , 使

则 Newton 迭代法( 2.1 )产生的数列 1nx

的收敛到根 α。

( 2 ) 取初值

0)(")( 00 xfxf

Page 31: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

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

Page 32: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

说明数列 1nx 有下界 α

又 n

n

nnn x

xf

xfxx )('

)(1 故 1nx 单调递减。

1 nx 收敛。设 xxnn 1lim

则由( 2.1 ), xxfxf

xfxx ,0)(,

)('

)(

Page 33: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

例 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 迭代法求

Page 34: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

§7.4 弦截法

牛顿法的突出优点:收敛速度快。

缺点:需要计算导数 。若计算 较困难,则用牛顿法不方便。

)(xf )(xf

为避免计算 ,可用差商 近似代替 ,于是得

)(xf 0

0 )()(

xx

xfxf

k

k

)( kxf

Page 35: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

弦截法的迭代格式:

)()()(

)(0

01 xx

xfxf

xfxx k

k

kkk

上式有明显的几何意义:

设曲线 y=f(x) 上横坐标为 x0 和 xk 的点分别为

P0 和 Pk ,则差商

Page 36: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

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

Page 37: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

因而此法可形象地称为弦截法。

弦截法的收敛速度比牛顿法慢得多。为了

加快收敛速度,我们改用差商 来

代替牛顿迭代格式中的 。于是得到1

1)()(

kk

kk

xx

xfxf

)( kxf

快速弦截法

迭代格式:)(

)()(

)(1

11

kk

kk

kkk xx

xfxf

xfxx

Page 38: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

快速弦截法也是迭代法。不过,前面讨

论的迭代法在计算 xk+1 时只用到上一步的结

果 xk (一步迭代)。而快速弦截法则是一种

多步迭代(两步迭代:在计算 xk+1 时要用到

前两步的结果 xk 和 xk-1 ,因此在使用快速弦截

法时,必须给出两个初始近似根 x0 和 x1 )。

Page 39: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

例 用快速弦截法求方程

的根。设方程的两个初始近似根为 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

Page 40: f(x)=0  根或  f(x) 零点,当 f(x) 复杂时,很难求 (找近似有效简单方法)。

基本要求

1.熟悉区间=分法;2.熟悉迭代法的建立,会使用收敛定理;3.熟悉Newton迭代法及其几何意义和收敛条件。

作业: 作业集 第七章习题

1 、 2 、 3 、 4、 6