第五节 数值微分

24
数数数数 数数数数 数数数 数数数数 数数数数数数 数数数数数数数数 f(x) 数数数数 数数数 , 数数数数数数数数数数数数 , 数数数数数数数 数数数数数数 数数数数数数数数数数 : . 数数数数数数数数数 数. 数数数数数数数数数数数 数. 数数数数数数数数数数数数数 数. 数数数数数数数数数数数

Upload: horace

Post on 17-Jan-2016

121 views

Category:

Documents


0 download

DESCRIPTION

第五节 数值微分. 在实际问题中,往往会遇到某函数 f ( x ) 是 用表格 表示的 , 用通常的导数定义无法求导 , 因此要寻求其他 方法近似求导。常用的数值微分方法有 :. 一 . 运用差商求数值微分 运用插值函数求数值微分 三 . 运用样条插值函数求数值微分 四 . 运用数值积分求数值微分. 一 . 运用差商求数值微分. 最简单直接的数值微分方法就是用差商代替微商. 利用 Taylor 展开可导出数值微分公式并估计误差. 一阶导数的三点公式 :. 证明 :. 同样的方法可以得到其它的三点公式是:. 若取数值微分公式. 误差为 :. - PowerPoint PPT Presentation

TRANSCRIPT

数值分析

数值分析

第五节 数值微分

在实际问题中,往往会遇到某函数 f(x) 是用表格表示的 , 用通常的导数定义无法求导 , 因此要寻求其他方法近似求导。常用的数值微分方法有 :

一 . 运用差商求数值微分.贰 运用插值函数求数值微分

三 . 运用样条插值函数求数值微分四 . 运用数值积分求数值微分

数值分析

数值分析

一 . 运用差商求数值微分

最简单直接的数值微分方法就是用差商代替微商 .

可用差商来逼近导数充分小时当 ,h

h

hxf

hxf

h

hxfxfh

xfhxfxf

x

ii

h

ii

h

ii

hi

i

)2

()2

(lim

)()(lim

)()(lim)('

,

0

0

0

处在点根据导数定义

数值分析

数值分析

1

( ) ( )'( )

:

.

i i ii

i i i i

f x f x h ff x

h hf f f f x

称为 在 点的一

阶向后差商 式

向后差分

公1

( ) ( )'( )

:

.

i i ii

i i i i

f x h f x ff x

h hf f f f x

称为 在 点的一

阶向前差商 式

向前差分

1 1

2 2

( ) ( )2

:

2'( )

.

i ii

i

i ii i

h hf x f x f

f xh h

f f f f x

一阶中心

称为 在 的一阶中

差商公

心差分

数值分析

数值分析

' 1

' 1

1 1' 2 22 2

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

i i ii

i i ii

i ii

i

f f ff x O h O h

h hf f f

f x O h O hh h

f ff

f x O h O hh h

一阶向前差商公式

一阶向后差商公式

一阶中心差商公式

利用 Taylor 展开可导出数值微分公式并估计误差 .

( ) ( )'( ) ''( )

2i i

i

f x h f x hf x f

h

得一阶向前差商公式

2

( )

( ) ( ) '( ) ''( )2

i

i i i

f x x h Taylorh

f x h f x f x h f

对 在点 以 为增量作 展开有证明:

数值分析

数值分析

一阶导数的三点公式:' 2

1 2

1( 3 4 ) ( )

2i i i if f f f O hh

证明 :2

' " 31

2' " 3

2

( ) 2

( ) (1)24

2 ( ) (2)2

i

i i i i

i i i i

f x x h h Taylorh

f f hf f O h

hf f hf f O h

将 在点 处分别以增量 和 作 展开,有

"4 1 2 if 由 ()( )可消去 可得到三点公式

同样的方法可以得到其它的三点公式是:' 2

1 2

' 22 1 2

1( ) ( )

21

( 4 3 ) ( )2

i i i

i i i i

f f f O hh

f f f f O hh

数值分析

数值分析

2'' 2 21 1

2 2

2( ) ( ) ( )i i i i

i

f f f ff x O h O h

h h

二阶中心差商公式

21 1

2 2

1 1 1 1

:( ) ( )

( ) ( )

: (1

2

)

i ii i

i i i i i i i

f f f f

f f f f f f f

证 验证明

2 3 3 4

2 3 3 4

( )1 1

( ) ( ) '( ) ''( ) ( ) ( )2 3!1 1

( ) ( ) '( ) ''( ) ( ) (

)

)

(2

2 3!

i

i i i i i

i i i i i

f x x h Taylor

f x h f x f x h f x h f x h O h

f x h f x f x h f x h f x h O h

( )

( )

对 在点 以 为增量作 展开有

)(2

)( 22

11''2 hOh

fffxfh iii

i

得:两式相加除以

数值分析

数值分析

二、运用插值函数求数值微分

baxxLxfn

xn

nf

n

)()()(1

)1(

)!1()(

设 Ln(x) 是 f(x) 的过点 {x0 , x1 , x2 ,… xn } [a ,b] 的 n 次插值多项式,由 Lagrange 插值余项 , 有对任意给

定的 x[a , b] ,总存在如下关系式 :

若取数值微分公式 )()( ' xLxfn

误差为 :

)!1(

)()()(

)!1(

)()()()(

)1(

11

)1(

'

ndx

dxx

nxLxfxR

x

n

nn

x

n

n

ffn

数值分析

数值分析

( 1) ( 1)

'1

0

( ) ( )( ) ( ) ( ) ( ) ( )

( 1)! ( 1)!

n nn

i i

n i i n i n i i kkk i

R x f x L x x x xn n

f f

( 1)

1

( 1)

1

( )( ) , ,

( 1)!

( )( ) 0,

( 1)!

n

x

n x

n

x

n i

dx

dx n

dx

dx n

f

f

中 是未知的 其误差不能估计

注意到在插值节点处 此时的余项为

因此插值型求导公式常用于求节点处的导数值

0 1 1

0 1

'

0

1

( ) (

( )

)

( )

(

( ) ' ( ) 0,1, ...,

) ( )( )

( ) ( )( ) ( )k k n

kk k k

n

k k k n

i n i k k ik

x x x x x

f x L x f x l

x x xl

x i

xx x x

n

x x x x x

称为 n+1 点求导公式。

数值分析

数值分析

常用的数值微分公式是 n = 1 ,2 的插值型微分公式 .

当 n=1 时 , 有1,0)(

!2

)()()()( 2

)2(

'11 ixxLxfxR i

i

iii

f

1,0)()(

)()(01

01'1

ixx

xfxfxLxf ii

1 0

0 00 1

1 11 2

0

1

0( ) ( )

( ) "( ) (1)2

( ) ( )( ) "( ) (2)

21

(2)

h x xf x h f x h

f x fh

f x f x h hf x f

hxx

()称为 点的向前差商公式,称为 点的向后差商公式。

数值分析

数值分析

例 1 设 f(x)=lnx , x0=1.8 ,用 2 点公式计算 f’(x0) 。

0 2

2 2

"( )'( ) ,

2 2

1.8 1.8 1.8 1.8

(1.8 ) (1.8) (1.8) (1.8 )

2(1.8) 2(1.8 )

0.1 0.5406722 0.0154321 0.5715841 0.0173010

0.01 0.5540180 0.0015432 0.5571045 0.0015605

0.001 0.5554

hf hf x

h h

f h f h f f h hh

h h h

计算 的误差为

这里 或列表计算如下:

解:

.

013 0.0001543 0.55570993 0.0001545

'(1.8) 0.555f

数值分析

数值分析

当 n=2 时 , 有

2,1,0)()(6

1

))((

2)(

))((

2)(

))((

2)(

)()(6

1)(')()(

2

0

)3(

1202

102

2101

201

2010

210

2

0

)3(2

0

ixxfxxxx

xxxxf

xxxx

xxxxf

xxxx

xxxxf

xxfxlxfxf

ikk

kiii

ii

ikk

kiiikk

ki

当节点等距时,即有 x1=x0+h, x2= x0+2h, h>0,上述公式可简化为

数值分析

数值分析

200201

2)3(

2210

2

1)3(

202

1

0)3(

2210

0

,2,

)(32

)(3)(4)()(

)(62

)()()(

)(32

)()(4)(3)(

xxhxxhxx

fh

h

xfxfxfxf

fh

h

xfxfxf

fh

h

xfxfxfxf

i

这里

有时,也将 xi 统一表为 x0, 将上述公式写成如下形式2

(3)0 0 00 0

2(3)0 0

0 1

2(3)0 0 0

0 2

0 0

3 ( ) 4 ( ) ( 2 )( ) ( ) (3)

2 3

( ) ( )( ) ( ) (4)

2 6

( 2 ) 4 ( ) 3 ( )( ) ( ) (5)

2 3, 0,1,2. (3) (4) (5) 3i

f x f x h f x h hf x f

h

f x h f x h hf x f

h

f x h f x h f x hf x f

hx h x h i

、 、 称为 点公式。

n=2 时,计算f’(x0) 的误差是O(h2), 且( 4 )的误差最小。

数值分析

数值分析

2(3)0 0 0

0 0

2(3)0 0

0 1

2(3)0 0 0

0 2

3 ( ) 4 ( ) ( 2 )( ) ( ) (3)

2 3

( ) ( )( ) ( ) (4)

2 6

( 2 ) 4 ( ) 3 ( )( ) ( ) (5)

2 3

f x f x h f x h hf x f

h

f x h f x h hf x f

h

f x h f x h f x hf x f

h

例 2 设 f(x)=xex , x0=2 ,用 3 点公式计算 f’(x0) 。

21 1

1

3 4 5

0.1 22.032310 22.228790 22.054525

0.2 22.414163

6.16 101.35 10 1.13 10

2.47 10

'( ) ( 1) , '(2) 22.167168x

h

f x x e f

公式( ) 公式() 公式()

误差

( )

1.8 10.889365

1.9 12.703199

2.0 14.778112

2.1 17.148957

2.2 19.855030

x f x

数值分析

数值分析

由( 6 ), f’(2) ≈22.166996 ,误差为: 1.69×10-4

公式 (4) 计算 f’(2) 较准确。用 5 点公式计算 f’(2) :

当 n=4 时 , 可得到 5 点公式:

0 0 0 00

4(5)

0 0

( 2 ) 8 ( ) 8 ( ) ( 2 )( )

12

( ) (6), 2 2 , 030

f x h f x h f x h f x hf x

h

hf x h x h h

中点求导公式:

数值分析

数值分析

0 0 0 0

4(5)

0 0 2

0 0

0 0

1( ) [ 25 ( ) 48 ( ) 36 ( 2 )

12

16 ( 3 ) 3 ( 4 ) ( ) (7)5

4 , 0

4 , 0

f x f x f x h f x hh

hf x h f x h f

x x h h

x h x h

端点求导公式:

计算左端点: ,

计算右端点:

5 点公式计算 f’(x0) 的误差是 O(h4), 且中点公式( 6 )的误差小于端点公式( 7 )。

数值分析

数值分析

在构造数值微分公式时,不仅要考虑公式的截断误差,而且还要考虑公式的舍入误差。

2(3)0 0

0 1

( ) ( )( ) ( ) (4)

2 6

f x h f x h hf x f

h

考察公式:

0 0 0

0 0 0

( ) ( ) ( )

( ) ( ) ( )

f x h f x h e x h

f x h f x h e x h

0 0 0 00

2(3)

1

(4)

( ) ( ) ( ) ( )( )

2 2

( )6

f x h f x h e x h e x hf x

h h

hf

则 式为

数值分析

数值分析

计算 f ’(x0) 的总误差是:

2(3)0 0 0 0

0 1

( ) ( ) ( ) ( )( ) ( )

2 2 6

f x h f x h e x h e x h hf x f

h h

从截断误差 (h2/6)f(3)(ξ1 )的角度看, h 越小误差越小。但从舍入误差的角度看, h 不能太小。

误差界为: e(h)=e/h +(h2/6)M, 这里 e=max ︱ e(x0±h) ︱ ,M= max ︱ f(3)(x) ︱

例 3 设 f(x)=sin x ,计算 f’(0.900)=cos0.900 的近似值。

数值分析

数值分析

解:利用公式(0.900 ) (0.900 )

(0.900)2

f h f hf

h

计算。

'(0.900)

0.001 0.62500 0.00339

0.002 0.62250 0.00089

0.005 0.62200 0.00039

0.010 0.62150 0.00011

0.020 0.62150 0.00011

0.050 0.62140 0.00021

0.100 0.62055 0.00106

h f

近似 误差

数值分析

数值分析

三 . 运用样条插值函数求数值微分

用三转角方程和三弯矩方程可以分别求出在节点处函数 f(x) 的一阶导数和二阶导数的近似值 .

'

"

( 0,1, , )

( 0,1, , )

i i

i i

f m i n

f M i n

四 . 运用数值积分求数值微分'( ) ( ) ( ) ( )

( )

( ) ( ) ( )x

x

y f x F x F x f x

f x x R

f x f x F t dt

设函数 的导函数是 ,即 ,则可将函数 用定积分的形式表示出来,对

数值分析

数值分析

1

1

1 1

1 1

,

( ) ( ) ( ) ( 1,2, , 1)k

k

k k

x

k k x

x x x x

f x f x F t dt k n

取 ,得到

1

1

1

1

3

( )

( ) 2 ( ) ( )

k

k

k

k

x

x

x

kx

F t dt

F t dt hF x O h

若对积分 用中矩形公式计算,即

得到3

1 1

' 21 1

( ) ( ) 2 ( ) ( )( ) ( )

( ) ( ) ( )2

k k k

k kk k

f x f x hF x O hf x f x

F x f x O hh

1 1,k kx x 这就是在 上用中心差商构造的数值微分

公式。

数值分析

数值分析

1

1

0

1 1

( 0,1, , )

( ) ( 4 ) ( 1,2, 1)3

k

k

k

x

k k kx

x x kh k n

hF t dt F F F k n

设已知等距节点 上的数

值积 公 为

分 式

'

'

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

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

( ( ) ( ))

x

kx

k

f x f x F t dt x k n

y f x f x k n

F x f x

试用 构造在节点

上 求函数 的导数 的数值微

分公式

解:将数值积分公式代入

( ) ( ) ( )x

xf x f x F t dt

数值分析

数值分析

' ' '1 1 1 1

' ' '0 1

( 4 ) ( 1,2, , 1)3

,

k k k k k

n

hf f f f f k n

f f f

这是一个关于 的线性代数方程组

' ' '1 1 1 1

34 ( ) ( 1,2, , 1)k k k k kf f f f f k n

h

数值分析

数值分析

' '0

4 1

1 4 1

1 4 1

1 4

nf f

A

再补充两端一阶导数值 和 ,则上式就是一个封闭的

线形方程组,其系数矩阵是严格对角占优矩阵。

' ' ' ' '0 1 2 1, , , , ,n nf f f f f于是方程组存在唯一解,可解出 。

数值分析

数值分析

二版习题

' 1 1

'' 1 12

12

2(2)

i ii

i i ii

f ff

hf f f

fh

()

三版习题 P251----19

试导出以下数值微分公式 , 并估计截断误差 .