3数值微分
f ' ' ( x0,1,2 ) [ f ( x0 ) 2 f ( x1 ) f ( x2 )]/ h2
9
数值微分
X y 2.5 12.1825 2.6 13.4637 2.7 14.8797 2.8 16.4446 2.9 18.1741
例: 用两点法和三点法求x=2.7处的一阶
h=0.2:两点=(14.8797-12.1825)/0.2=13.486 三点=(18.1741-12.1825)/0.4=14.979 h=0.1:两点=(14.8797-13.4637)/0.1=14.160 三点=(16.4446-13.4637)/0.2=14.9045 函数y=ex,精确解为14.87973,三点比两点好.
中心差商:
f (a h) f (a h) f (a ) f ' (a) 2h 2h
可以看出中心差商实际是向前向后差商的平均值,所以 精度较高,较常采用. h越小精度越高,但h太小f(a+h)和f(a-h)非常接近(避免 两接近数相减),误差增加
3
数值微分
例:求f(x)=sqr(x)在x=2的导数值 精确值f´(2)=0.353553
8
数值微分
b.三点公式(x0,x1=x0+h,x2=x0+2h)
f ' ( x0 ) [3 f ( x0 ) 4 f ( x1 ) f ( x2 )] / 2h f ' ( x1 ) [ f ( x0 ) f ( x2 )] / 2h (常用 )
f ' ( x2 ) [ f ( x0 ) 4 f ( x1 ) f ( x2 )] / 2h
课后作业:请使用C语言程序实现此求导!
5
数值微分
6
数值微分
7
数值微分
2.多点求导公式
已知若干个节点的函数值,求某一点的导数
a.两点公式:将两点连为一直线,直线方程:
x x0 x x1 P( x) f ( x0 ) f ( x1 ) x0 x1 x1 x0
P' ( x0,1 ) [ f ( x1 ) f ( x0 )]/( x1 x0 )
f ( a h) f ( a ) f ' (a) h h0
由此我们得到下面三种近似的求导方法
向前差商:
f (a h) f (a ) f (a ) f ' (a) h h
2
数值微分
向后差商:
f ( a ) f ( a h ) f ( a ) f ' (a) h h
分析:步长较大时,截断误差较大,步长太小舍入误差又增 大,必须选取一个合适的步长
f ' (a)
2h 2h 2h
4
数值微分
变步长机械求导法:
例:求f(x)=ex在x=1的导数值 精确值f´(1)=2.71828
分析:每次将步长h减半,直到两次计算结果的差小 于要求的精度(如0一个函数求导数,理论上讲都可以精确 求解,不存在计算微分时无法求解的情况.但 如果函数非常复杂,而我们只想知道在某点 的导数值;或者函数是由若干分散的数据点 给出,没有具体的函数表达式,我们无法求解. 这时就要用到数值求解的方法.
1
数值微分
1.机械求导法
根据微分的定义:我们知道导数就是差商:
10