数值微分
数值微分(numerical differentiation)
根据函数在一些离散点的函数值,推算它在某点的导数或高阶导数的近似值的方法。
通常用差商代替微商,或者用一个能够近似代替该函数的较简单的可微函数(如多项式或样条函数等)的相应导数作为能求导数的近似值。
例如一些常用的数值微分公式(如两点公式、三点公式等)就是在等距步长情形下用插值多项式的导数作为近似值的。
此外,还可以采用待定系数法建立各阶导数的数值微分公式,并且用外推技术来提高所求近似值的精确度。
当函数可微性不太好时,利用样条插值进行数值微分要比多项式插值更适宜。
如果离散点上的数据有不容忽视的随机误差,应该用曲线拟合代替函数插值,然后用拟合曲线的导数作为所求导数的近似值,这种做法可以起到减少随机误差的作用。
数值微分公式还是微分方程数值解法的重要依据。
7.1 数值微分
7.1.1 差商与数值微分
当函数是以离散点列给出时,当函数的表达式过于复杂时,常用数值微分近似计算
的导数。
在微积分中,导数表示函数在某点上的瞬时变化率,它是平均变化率的极限;在几何上可解释为曲线的斜率;在物理上可解释为物体变化的速率。
以下是导数的三种定义形式:
(7.1)
在微积分中,用差商的极限定义导数;在数值计算中返璞归真,导数取用差商(平均变化率)作为其近似值。
最简单的计算数值微分的方法是用函数的差商近似函数的导数,即取极限的近似值。
下面是与式(7.1)相应的三种差商形式的数值微分公式以及相应的截断误差。
向前差商
用向前差商(平均变化率)近似导数有:
(7.2)
其中的位置在的前面,因此称为向前差商。
同理可得向后差商、中心差商的定义。
由泰勒展开
得向前差商的截断误差:
向后差商
用向后差商近似导数有:(7.3)
与计算向前差商的方法类似,由泰勒展开得向后差商的截断误差:
中心差商
用中心差商(平均变化率)近似导数有:
(7.4)
由泰勒展开
得中心差商的截断误差:
差商的几何意义
微积分中的极限定义,表示在处切线的斜率,
即图7.1中直线的斜率;差商表示过和两
点直线的斜率,是一条过的割线。
可见数值微分是用近似值内接弦的斜率代替准确值切线的斜率。
图7.1 微商与差商示意图
例7.1给出下列数据,计算,
解:(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.03时,数值微分误差的绝对值从0.0048减少到0.0001,而随着 的进一步减少,误差的绝对值又有所反弹,表明当步长小于0.03时,舍入误差起了主要作用。
在实际计算中是无法得到误差的准确数值的,这时以最小为标准确定
步长,本例中取= 0.04。
7.1.2 插值型数值微分 对于给定的的函数表,建立插值函数
,用插值函数
的导数近似函数
的导数。
设
为上的节点,给定,以
为插
值点构造插值多项式
,以
的各阶导数近似
的相应阶的导数,即
当
时,
(7.5)
误差项为:
例7.3给定,并有,计算。
解:作过的插值多项式:
将代入得三点端点公式和三点中点公式:
利用泰勒(Taylor)展开进行比较和分析,可得三点公式的截断误差是。
类似地,可得到五点中点公式和五点端点公式:
7.1.3 样条插值数值微分
把离散点按大小排列成,用关系式构造插值点
的样条函数:
当则当时,可用计算导数。
曲线拟合-正文
用连续曲线近似地刻画或比拟平面上离散点组所表示的坐标之间的函数关系。
更广泛地说,空间或高维空间中的相应问题亦属此范畴。
在数值分析中,曲线拟合就是用解析表达式逼近离散数据,即离散数据的公式化。
实践中,离散点组或数据往往是各种物理问题和统计问题有关量的多次观测值或实验值,它们是零散的,不仅不便于处理,而且通常不能确切和充分地体现出其固有的规律。
这种缺陷正可由适当的解析表达式来弥补。
数学表述设给定离散数据
(1)
式中x k为自变量x(标量或向量,即一元或多元变量)的取值;y k为因变量y(标量)的相应值。
曲线拟合要解决的问题是寻求与(1)的背景规律相适应解析表达式
(2)
使它在某种意义下最佳地逼近或拟合(1),ƒ(x,b)称为拟合模型;为待定参数,当b)仅在ƒ中线性地出现时,称模型为线性的,否则为非线性的。
量
称为在x k处拟合的残差或剩余,衡量拟合优度的标准通常有
式中ωk>0为权系数或权重(如无特别指定,一般取为平均权重,即
(k=1,2,…,m),此时无需提到权)。
当参数b)使T(b))或Q(b))达到最小时,相应的(2)分别称为在加权切比雪夫意义或加权最小二乘意义下对(1)的拟合,后者在计算上较简便且最为常用。
模型中参数的确定一般的线性模型是以参数b)为系数的广义多项式,即
,(3)
式中g0,g1,…,g n称为基函数。
对诸g j的不同选取可构成多种典型的和常用的线性
模型。
从函数逼近的观点来看,式(3)还能近似地体现许多非线性模型的性质。
在最小二乘意义下用线性模型(3)拟合离散点组(1),参数b可通过解方程组
(i=0,…,n)来确定,即解关于b0,b1,…,b n的线性代数方程组
(4)
式中(i,j=0,1,…,n),
方程组(4)通常称为法方程或正规方程,当m>n时一般有惟一解。
至于非线性模型以及非最小二乘原则的情形,参数b)可通过解非线性方程组或最优化计算中的有关方法来确定(见非线性方程组数值解法、最优化)。
模型的选择对于给定的离散数据(1),需恰当地选取一般模型(2)中函数ƒ(x,b))的类别和具体形式,这是拟合效果的基础。
若已知(1)的实际背景规律,即因变量y对自变量x的依赖关系已有表达式形式确定的经验公式,则直接取相应的经验公式为拟合模型。
反之,可通过对模型(3)中基函数g0,g1,…,g n(个数和种类)的不同选取,分别进行相应的拟合并择其效果佳者。
函数g0,g1,…,g n对模型的适应性起着测试的作用,故又称为测试函数。
另一种途径是:在模型(3)中纳入个数和种类足够多的测试函数,借助于数理统计方法中的相关性分析和显著性检验,对所包含的测试函数逐个或依次进行筛选以建立较适合的模型(见回归分析)。
当然,上述方法还可对拟合的残差(视为新的离散数据)再次进行,以弥补初次拟合的不足。
总之,当数据中变量之间的内在联系不明确时,为选择到相适应的模型,一般需要反复地进行拟合试验和分析鉴别。