当前位置:文档之家› 数值积分与数值微分

数值积分与数值微分


二阶中心差商
f ( x + h) − 2 f ( x ) + f ( x − h) 2 + Ο h ( ) 2 h
f ′′( x ) =
例:已知函数 y=f(x) 的数值表,试用两点、二阶中 心差商计算 x=2.7处的一、二阶导数值
x y 2.5 12.1825 2.6 13.4637 2.7 14.8797 2.8 16.4446 2.9 18.1741
k =0
C
(1) 0
b−a T( f ) = f ( a ) + f ( b )] [ 2
C
(n) k n n ( − 1) n − k = ( t − j )dt ∏ ∫ 0 k !( n − k )! n j=0 j≠k
1 = − ∫ ( t − 1 )dt = 0 2
1
C
(1) 1
1 = ∫ tdt = 0 2
′( x) f ′( x ) ≈ L2
( x − x0 )( x − x2 ) ( x − x1 )( x − x2 ) L2 ( x) = y0 + y1 ( x0 − x1 )( x0 − x2 ) ( x1 − x0 )( x1 − x2 ) ( x − x0 )( x − x1 ) + y2 ( x2 − x0 )( x2 − x1 )
I 3 ( f ) = ∑ Ak f ( x k )
k =0
3
= A0 f ( x0 ) + A1 f ( x1 ) + A2 f ( x 2 ) + A3 f ( x 3 )
1 f ′( x1 ) = ⎡ − f ( x0 ) + f ( x2 )⎤ ⎣ ⎦ 2h
1 f ′( x2 ) = ⎡ f ( x0 ) − 4 f ( x1 ) + 3 f ( x2 )⎤ ⎣ ⎦ 2h
计算结果如下:
xi f ′( x i )
1 .2 1 .1 1 .0 − 0 .24792 − 0 .21694 − 0 .18596
当 t = 0 , 1, 2 时得到三点公式:
1 −3 y0 + 4 y1 − y2 ⎤ f ′( x0 ) = ⎡ ⎣ ⎦ 2h 1 f ′( x1 ) = ⎡ − y0 + y2 ⎤ ⎣ ⎦ 中点公式 2h
1 f ′( x2 ) = ⎡ y0 − 4 y1 + 3 y2 ⎤ ⎣ ⎦ 2h
对于左右边界点的一阶导数与内点的 一阶导数是不一样的关系
C
(n) k
1 2 4 C = − ∫ t ( t − 2 )dt = 2 0 6 1 2 1 ( 2) C 2 = ∫ t ( t − 1 )dt = 4 0 6
( 2) 1
n n ( − 1) n − k = ( t − j )dt ∏ ∫ 0 k !( n − k )! n j=0 j≠k
b−a a+b x1 = a + h = a + = 2 2
第四章
数值微分和数值积分
§4.1 数值微分
1.差商
f(x)
向前差商
f ( x 0 + h) − f ( x 0 ) f ' ( x0 ) ≈ h
x0
x0+h
x
由Taylor展开
h2 f ( x0 + h) = f ( x0 ) + hf ' ( x0 ) + f ' ' ( x0 ) 2!
误差:
f ( x 0 + h) − f ( x 0 ) h R( x ) = f ' ( x 0 ) − = − f ' ' ( x 0 ) = O ( h) h 2!
h D ( h) − D ( ) < ε 2

h/2 ----合适的步长
2. 插值型求导公式 已知表格函数 y = f ( x )
x y
x0 y0
n
x1 y1
x2 y2
L L
xn yn
以 {( x i , y i )}i = 0 构造n次Lagrange插值多项式: Ln ( x )
插值型求导公式:
中心差商
f(x)
f ( x 0 + h) − f ( x 0 − h ) f ' ( x0 ) ≈ 2h
由Taylor展开
误差
h2 h2 f ( x0 + h) = f ( x0 ) + hf ' ( x0 ) + f ' ' ( x0 ) + f ' ' ' ( x0 ) 2! 3! h2 h2 f ( x0 − h) = f ( x0 ) − hf ' ( x0 ) + f ' ' ( x0 ) + f ' ' ' ( x0 ) 2! 3!
为了求导数方便,令 x = x0 + th
dx = hdt
x1 = x0 + h , x 2 = x0 + 2h
1 1 L2 ( x0 + th) = (t − 1)(t − 2) y0 − t(t − 2) y1 + t(t − 1) y2 2 2
1 ′ ( x0 + th) = ⎡ L2 (2t − 3) y0 − (4t − 4) y1 + (2t − 1) y2 ⎤ ⎣ ⎦ 2h
例:已知函数 f ( x ) 在 x = 1.0, 1.1, 1.2 处的函数值,
应用三点公式计算这些点处的导数值.
xi f ( xi )
1 .2 1 .1 1 .0 0 .2 5 0 0 0 0 0 .2 2 6 7 5 7 0 .2 0 6 6 1 2
解: 应用三点公式
1 −3 f ( x0 ) + 4 f ( x1 ) − f ( x2 )⎤ f ′( x0 ) = ⎡ ⎣ ⎦ 2h
¾ 三点公式 已知表格函数 y = f ( x )
x y
x0 y0
x1 y1
x2 y2
其中x k = x 0 + kh k = 1, 2
作二次插值
( x − x0 )( x − x2 ) ( x − x1 )( x − x2 ) L2 ( x) = y0 + y1 ( x0 − x1 )( x0 − x2 ) ( x1 − x0 )( x1 − x2 ) ( x − x0 )( x − x1 ) + y2 ( x2 − x0 )( x2 − x1 )
n n j≠k
( b − a )( −1) ( t − j )h =∫ ∏ hdt = 0 k !( n − k )! n j = 0 ( k − j )h
n n j≠k
n− k
∫ ∏ ( t − j )dt
0 j=0 j≠k
n
n
Ak = (b − a )C
(n) C 其中 k
(n) k
n n ( − 1) n − k = ( t − j )dt ∏ ∫ k !( n − k )! n 0 j = 0 j≠k
向后差商
f (x)
f ( x 0 ) − f ( x 0 − h) f ' ( x0 ) ≈ h
x0-h
由Taylor展开
x0
x
误差:
h2 f ( x0 − h) = f ( x0 ) − hf ' ( x0 ) + f ' ' ( x0 ) 2!
f ( x 0 ) − f ( x 0 − h) h R( x ) = f ' ( x 0 ) − = f ' ' ( x 0 ) = O ( h) 2! h
x0-h
x0
x0+h x
f ( x 0 + h) − f ( x 0 − h) R( x ) = f ' ( x 0 ) − 2h h2 h2 f ' ' ' ( x0 ) = O( h2 ) = [ f ' ' ' ( x0 ) + f ' ' ' ( x0 )] = 12 6
三点公式
− f ( x + 2 h ) + 4 f ( x + h) − 3 f ( x ) f '( x ) = + Ο ( h2 ) 2h
¾数值积分公式的一般形式:
(∗)
其中 求积节点
I n ( f ) = ∑ Ak f ( xk ) ≈
k =0
n

b a
f ( x )dx
a ≤ x0 < x1 < L < xn −1 < xn ≤ b
k = 0,1,L , n
b n
求积系数 Ak
仅与求积节点有关
求积公式的截断误差或余项:
Rn ( f ) = ∫ f ( x )dx − ∑ Ak f ( xk )
k =0
n
其中 Ak =

b a
l k ( x )dx =

b a
ω n +1 ( x )dx ′ +1 ( x k ) ( x − x k )ω n
二、 Newton—Cotes求积公式 Newton—Cotes公式是插值型求积公式的特殊形式: 求积节点 xk
{ }k = 0 取等距分布:
n
b b a
1
用梯形面积近似
a
b
(2)Simpson公式(1/3 法则) n=2时的求积公式
I2 ( f ) = ∑ Ak f ( xk ) = A0 f ( x0 ) + A1 f ( x1 ) + A2 f ( x2 )
相关主题