数值分析(19)数值微分
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
i 0,1
令h x1 x0 0
f ( x0 )
f ( x 0 h) h
f ( x0 ) h 2
f "(1 )
(1)
f ( x1 )
f ( x 1 ) f ( x1 h) h
h
2
f "(2 )
(2)
(1)称为x0点的一阶向前差商公式,
(2) 称为x1点的一阶向后差商公式。
数值分析
x1 x1
)
1 6
f
(3) (i
2
) (xi
k0
xk )
i 0,1,2
ki
当节点等距时,即有 x1=x0+h, x2= x0+2h, h>0, 上述公f ( x0 )
3 f ( x0 ) 4 f ( x1) 2h
f ( x2 )
h2 3
f ( x1 )
f ( x2) f ( x0 ) h2
h0
由(6), f’(2) ≈22.166996,误差为:1.69×10-4
数值分析
数值分析
端点求导公式:
f
(
x0
)
1 12h
[25
f
(
x0
)
48
f
(
x0
h)
36
f
(
x0
2h)
h4 16 f ( x0 3h) 3 f ( x0 4h) 5
f (5) (2 )
(7)
计算左端点:x0 x0 4h, h 0,
f ''( )
得一阶向前差商公式
f '( xi )
f ( xi h) h
f ( xi ) h 2
f ''( )
数值分析
数值分析
二阶中心差商公式
f ( x0 )
f ( x0 h) 2 f ( x0 ) h2
f ( x0 h) O(h2 )
证明: 对f ( x)在点xi以h为增量作Taylor展开有
2h
6
f (3) (1 )
(4)
f ( x0 )
f ( x0 2h) 4 f ( x0 h) 3 f ( x0 ) h2
2h
3
f (3) (2 )
(5)
例3 设f(x)=xex,x0=2,用3点公式计算f’(x0)。
x
f (x)
h 公式(3) 公式(4) 公式(5)
1.8 10.889365 0.1 22.032310 22.228790 22.054525
6
f (3)( )
截断误差不超过
h2 6
M2
h2 6
max
f (x)
舍入误差不超过 e h
一阶中心差商的总误差不超过
h2 6
M2
e h
从截断误差的角度看,h 越小误差越小。但从舍入误差
的角度看,h不能太小。
数值分析
数值分析
例2 设 f(x)=sin x ,计算f’(0.900)=cos0.900的近似值。
1.9 12.703199 0.2
22.414163
2.0 14.778112 2.1 17.148957 误差 1.35 101
6.16 102
2.47
101
1.13 101
2.2 19.855030 f '( x) ( x 1)e x , f '(2) 22.167168
数值分析
数值分析
一阶向前差商公式 :
f '( xi )
f ( xi h) h
f ( xi ) h 2
f ''( )
一阶向后差商公式 :
f '( xi )
f ( xi )
f ( xi
h)
h
h
2
f ''( )
一阶中心差商公式 :
f '( xi )
f ( xi h) f ( xi h) h2
2h
数值分析
第六节 数值微分
在实际问题中,往往会遇到某函数f(x) 是用表格 表示的,用通常的导数定义无法求导,因此要寻求其他 方法近似求导。常用的数值微分方法有:
一、 用函数差商求数值微分 二、 用代数插值函数求数值微分 三、 用数值积分求数值微分
数值分析
数值分析
一、 用函数差商求数值微分
最简单直接的数值微分方法就是用差商代替微商.
计算右端点:x0 4h x0 , h 0
5点公式计算f’(x0)的误差是O(h4),且中点公式 (6)的误差小于端点公式(7)。
数值分析
数值分析
三、用数值积分求数值微分
设函数y f ( x)的导函数是F ( x),即F ( x) f '( x),
则可将函数f ( x)用定积分的形式表示出来,对x R
数值分析
当n=2时,有
f
( xi )
2 k0
f
( xk )l'k
(xi )
1 6
f
(3) (i
2
) (xi
k0
xk )
ki
f
(
x0
)
(
2xi x0
x1
x1 )(x0
x2 x2
)
f
(
x1
)
(
2xi x1 x0
x0 x2 )(x1 x2
)
f
(
x2
)
(
2xi x2 x0
x0 )(x2
6
f (3) ( )
利用Taylor展开可导出数值微分公式并估计误差.
数值分析
数值分析
证明一阶向前差商公式 :
f '( xi )
f ( xi h) h
f ( xi ) h 2
f ''( )
证明:对f ( x)在点xi以h为增量作Taylor展开有
f ( xi h)
f ( xi )
h2 f '( xi )h 2
f ( xi
h)
f (xi )
f
'( xi )h
1 2
f
''( xi )h2
1 3!
f(3)( xi )h3 O(h4 )
f ( xi
h)
f (xi )
f
'( xi )h
1 2
f
''( xi )h2
1 3!
f(3)( xi )h3
O(h4 )
两 式相 加 除以h2得 :f ''( xi )
f (x)
Ln(x)
( x) f (n1) (x ) (n1)! n1
a b
若取数值微分公式
f (x) L' (x) n
误差为:
f f (n1)
(n1)
Rn( x)
f (x) L' ( x) n
(n
( x 1)!
)
n 1
(
x
)
n1
(
x
)
d dx
( x ) (n 1)!
数值分析
数值分析
误差 0.00339 0.00089 0.00039 0.00011 0.00011 0.00021 0.00106
数值分析
数值分析
二、用代数插值函数求数值微分
设Ln(x)是f(x)的过点{x0 ,x1 ,x2 ,…xn } [a,b]的 n 次插值多项式,由Lagrange插值余项,有对任意给
定的x[a,b],总存在如下关系式:
解:利用公式
f (0.900) f (0.900 h) f (0.900 h) 计算。 2h
h 0.001 0.002 0.005 0.010 0.020 0.050 0.100
近似f '(0.900) 0.62500 0.62250 0.62200 0.62150 0.62150 0.62140 0.62055
h
h
2(1.8)2
0.1
0.5406722 0.0154321
0.01
0.5540180
0.0015432
0.001 0.5554013 0.0001543
.
f '(1.8) 0.555
f (1.8) f (1.8 h) h
0.5715841 0.5571045 0.55570993
h 2(1.8 h)2 0.0173010 0.0015605 0.0001545
f ( x0 )
f%( x0
h)
f%( x0
h)
e( x0
h) e( x0
h)
2h
2h
h2 6
f (3) (1 )
数值分析
数值分析
计算f ( x0 )的总误差是
f ( x0 )
f%( x0 h) f%( x0 h) e( x0 h) e( x0 h) h2
2h
2h
x
f ( x) f ( x) x F (t)dt
给出函数 y f (x) 在等距节点 xk x0 kh , (k 0,1, , n)
上的值 yk f (xk ) (k 0,1, , n) ,求 f (x) 在点 xk 的导数
f '(xk ) F (xk ) 。取 x xk1 , x xk1 ,则得到
xn ) xn
)
称为n+1点求导公式。
数值分析
数值分析
常用的数值微分公式是 n = 1 ,2 的插值型微分公式.
当n=1时,有
f R1 ( xi ) f ( xi ) L'1( xi )
(2)
(
2!
i
)
2
(
xi
)
i 0,1
f ( xi ) L'1( xi )
f ( x1) f ( x0 ) x1 x0
(n
(i
1)!
)
n k0
( xi
xk
)
ki
因此插值型求导公式常用于求节点处的导数值
n
f ( xi ) L'n( xi ) f ( xk )l 'k ( xi ) i 0,1, ..., n
k0
lk
(x)
(x x0 )L (x ( xk x0 )L ( xk
xk1 )( xk1 )(
x xk1)L ( x xk xk1)L ( xk
根 据 导 数 定 义, 在 点xi处
f '(xi )
lim
h0
f ( xi
h) h
f ( xi )
lim f ( xi ) f ( xi h)
h0
h
llhhiimm0 0 f
(fx(i xih2) h)f (xi f(h2x)i h 2h
h)
当h充分小时, 可用差商来逼近导数
数值分析
数值分析
2h
6
f (3) (1 )
f (3) (0 )
n=2时,计算 f’(x0)的误差是 O(h2),且(4)
f ( x2 )
f ( x0 ) 4 f ( x1) 3 f ( x2 ) h2
2h
3
f (3) (2 )
的误差最小。
这 里 x1 x0 h, x2 x0 2h, x0 i x2
fi1 2 fi h2
fi1 O(h2 )
数值分析
数值分析
例1 设f(x)=lnx,x0=1.8,用2点公式计算f’(x0)。
解:计算f '( x0 )的误差为
hf "( ) h 2 2 2 ,
这里 1.8 1.8 h 或 1.8 h 1.8
列表计算如下:
f (1.8 h) f (1.8) h
2h
3
f (3) (2 )
(5)
x0 h i x0 h, i 0,1, 2. (3)、(4)、(5)称为3点公式。
数值分析
数值分析
f
( x0 )
3
f
( x0 )
4
f
( x0 2h
h)
f ( x0 2h) h2 3
f (3) (0 )
(3)
f ( x0 )
f ( x0 h) f ( x0 h) h2
xk1 xk 1
F (t )dt
2hF ( xk
)
O(h3 )
得到
f ( xk1 ) f ( xk1 ) 2hF ( xk ) O(h3 )
F( xk )
f '( xk )
f ( xk1 ) f ( xk1 ) O(h2 ) 2h
这就是在xk1, xk1上用中心差商构造的数值微分公式。
数值分析
数值分析
在构造数值微分公式时,不仅要考虑公式的截断
误差,而且还要考虑公式的舍入误差。
考察公式:
f ( x0 )
f ( x0 h) f ( x0 h) h2
2h
6
f (3) ( )
设
f ( x0 h) f%( x0 h) e( x0 h)
则有
f ( x0 h) f%( x0 h) e( x0 h)
f ( xk1 ) f ( xk1 )
xk1 F(t )dt
xk1
(k 0,1, 2,L , n 1)
数值分析
数值分析
取x
xk1 ,
x
xk
,则得到
1
f ( xk1 ) f ( xk1 )
xk1 F (t )dt
xk 1
(k 1, 2,L , n 1)
若对积分 xk1 F (t )dt用中矩形求积公式计算,即 xk 1
公式(4)计算f’(2)较准确。
用5点公式计算f’(2) : 当n=4时,可得到5点公式:
中点求导公式:
f ( x0 )
f ( x0 2h) 8 f ( x0 h) 8 f ( x0 h) 12h
f ( x0 2h)
h4
f (5) (
)
30
(6),
x0 2h x0 2h,
f (n1)
Q
n1
(
x
)
d dx
( x )
(n 1)!
中 x是未知的,其误差不能估计,
f (n1)
注意到在插值节点处
n1
(
xi
)
d dx
( x ) 0,此时的余项为
(n 1)!
(n1)
(n1)
f f Rn( xi ) f ( xi ) L'n( xi )
(
n
(i
1)!
)
n 1
(
xi
)
有时,也将xi统一表为x0,将上述公式写成如下形式
f
( x0 )
3
f
( x0 )
4
f
( x0 2h
h)
f ( x0 2h) h2 3
f (3) (0 )
(3)
f ( x0 )
f ( x0 h) f ( x0 h) h2
2h
6
f (3) (1 )
(4)
f ( x0 )
f ( x0 2h) 4 f ( x0 h) 3 f ( x0 ) h2