(完整word版)数值微分
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值微分
数值微分(numerical differentiation)
根据函数在一些离散点的函数值,推算它在某点的导数或高阶导数的近似值的方法。通常用差商代替微商,或者用一个能够近似代替该函数的较简单的可微函数(如多项式或样条函数等)的相应导数作为能求导数的近似值。例如一些常用的数值微分公式(如两点公式、三点公式等)就是在等距步长情形下用插值多项式的导数作为近似值的。此外,还可以采用待定系数法建立各阶导数的数值微分公式,并且用外推技术来提高所求近似值的精确度。当函数可微性不太好时,利用样条插值进行数值微分要比多项式插值更适宜。如果离散点上的数据有不容忽视的随机误差,应该用曲线拟合代替函数插值,然后用拟合曲线的导数作为所求导数的近似值,这种做法可以起到减少随机误差的作用。数值微分公式还是微分方程数值解法的重要依据。
7.1 数值微分
7.1.1 差商与数值微分
当函数是以离散点列给出时,当函数的表达式过于复杂时,常用数值微分近似计算
的导数。在微积分中,导数表示函数在某点上的瞬时变化率,它是平均变化率的极限;在几何上可解释为曲线的斜率;在物理上可解释为物体变化的速率。
以下是导数的三种定义形式:
(7.1)
在微积分中,用差商的极限定义导数;在数值计算中返璞归真,导数取用差商(平均变化率)作为其近似值。
最简单的计算数值微分的方法是用函数的差商近似函数的导数,即取极限的近似值。下面是与式(7.1)相应的三种差商形式的数值微分公式以及相应的截断误差。
向前差商
用向前差商(平均变化率)近似导数有:
(7.2)
其中的位置在的前面,因此称为向前差商。同理可得向后差商、中心差商的定义。
由泰勒展开
得向前差商的截断误差:
向后差商
用向后差商近似导数有:(7.3)
与计算向前差商的方法类似,由泰勒展开得向后差商的截断误差:
中心差商
用中心差商(平均变化率)近似导数有:
(7.4)
由泰勒展开
得中心差商的截断误差:
差商的几何意义
微积分中的极限定义,表示在处切线的斜率,
即图7.1中直线的斜率;差商表示过和两
点直线的斜率,是一条过的割线。可见数值微分是用近似值内接弦的斜率代替准确值切线的斜率。
图7.1 微商与差商示意图
例7.1给出下列数据,计算,
0.10
-0.02 0.04 0.06 0.8
5.06 5.07 5.065 5.05 5.055
解:(5.07-5.06)/(0.04-0.02)= 0.5
(5.05-5.07)/(0.08-0.04)= -0.5
(5.05-5.055)/(0.08-0.10)= 0.25
((0.10) -(0.06))/(0.10-0.06)= 18.75
设定最佳步长
在计算数值导数时,它的误差由截断误差和舍入差两部分组成。用差商或插值公式近似导数产生截断误差,由原始值的数值近似产生舍入误差。在差商计算中,从截断误差的逼
近值的角度看,越小,则误差也越小;但是太小的会带来较大的舍入误差。怎样选择最佳步长,使截断误差与舍入误差之和最小呢?
一般对计算导数的近似公式进行分析可得到误差的表示式,以中心差商为例,截断误差不超过
而舍入误差可用量估计(证明略),其中是函数的原始值的绝对误差限,总误差
为
当时,总误差达到最小值,即(*)
可以看到用误差的表达式确定步长,难度较大,难以实际操作。
通常用事后估计方法选取步长,例如,记为步长等于的差商计算公式,给定误差界,当时,就是合适的步长。
例7.2对函数,取不同的步长计算,观察误差变化规律,从而确定最佳步长。
解:
误差误差
0.10 0.09 3.1630
3.1622
-0.0048
-0.0040
0.05
0.04
3.1590
3.1588
-0.0008
-0.0006
0.08 0.07 0.06 3.1613
3.1607
3.1600
-0.0031
-0.0025
-0.0018
0.03
0.02
0.01
3.1583
3.1575
3.1550
-0.0001
-0.0007
-
0.0032
表中数据显示,当步长从0.10减少到0.03时,数值微分误差的绝对值从0.0048减少到0.0001,而随着的进一步减少,误差的绝对值又有所反弹,表明当步长小于0.03时,舍入误差起了主要作用。
在实际计算中是无法得到误差的准确数值的,这时以最小为标准确定步长,本例中取= 0.04。
7.1.2 插值型数值微分
对于给定的的函数表,建立插值函数,用插值函数的导数近似函数
的导数。
设为上的节点,给定,以为插值点构造插值多项式,以的各阶导数近似的相应阶的导数,即
当时,
(7.5)误差项为:
例7.3给定,并有,计算。解:作过的插值多项式:
将代入得三点端点公式和三点中点公式:
利用泰勒(Taylor)展开进行比较和分析,可得三点公式的截断误差是。
类似地,可得到五点中点公式和五点端点公式:
7.1.3 样条插值数值微分
把离散点按大小排列成,用关系式构造插值点
的样条函数:
当则当时,可用计算导数。