首页 理论教育 如何分析数值积分算法的精度与误差

如何分析数值积分算法的精度与误差

时间:2023-06-30 理论教育 版权反馈
【摘要】:数值积分算法的精度受如下两个主要因素的影响:计算机舍入误差和截断误差。计算机舍入误差是由于执行计算的计算机精度有限而产生的,该误差很难减小,除非使用计算精度更高的计算机。精确解和数值解之间的差别主要是由截断误差决定的,截断误差来自于Taylor级数展开或多项式逼近时产生的误差。例5.5 推导向前Euler法、后退Euler法和梯形法的局部截断误差表达式。

如何分析数值积分算法的精度与误差

数值积分算法的精度受如下两个主要因素的影响:计算机舍入误差和截断误差。计算机舍入误差是由于执行计算的计算机精度有限而产生的,该误差很难减小,除非使用计算精度更高的计算机。科学计算时一般使用双精度字长。精确解和数值解之间的差别主要是由截断误差决定的,截断误差来自于Taylor级数展开或多项式逼近时产生的误差。

在数值积分算法中,最有效的是那些计算量最小而能产生最精确结果的算法。一般而言,越高阶的算法能产生越精确的结果,但需要的计算量也更大。因此,希望采用最大的时间步长以减少计算的频率。对时间步长大小有影响的因素有多个,其中一个因素是每一步计算中算法自身引入的误差。这个误差就是局部截断误差(LTE),它来自于Taylor级数展开或多项式逼近产生的误差,取决于所使用的数值积分算法。术语“局部”强调了该误差来自于每一步计算本身,而不是前面各步计算的残余全局误差。由数值积分算法单步产生的误差可表示为

εTxtn+1)-xn+1 (5.64)式中,xtn+1)为tn+1时刻的精确解,而xn+1为其数值近似解。上述定义中假定了xtn)=xn,以表示该误差是单步计算引入的。局部截断误差可以用图5.4进行说明。

为了推导局部截断误差的表达式,将xtn-i)在tn+1处展开:

978-7-111-58306-6-Chapter05-58.jpg

978-7-111-58306-6-Chapter05-59.jpg

图5.4 局部截断误差的图形化描述

另有

978-7-111-58306-6-Chapter05-60.jpg

求解xtn+1)-xn+1可得

εT=C0xtn)+C1xtn-1)+C2xtn-2)+…+Ckxtn-k)+Ck+1xtn-k-1)+… (5.67)

若算法的阶数为k,则前面的k个系数为零,故局部截断误差可表示为

εT=Ck+1hk+1xk+1)tn+1)+Ohk+2) (5.68)

式中,Ohk+2)表示与hk+2等阶的误差。

例5.5 推导向前Euler法、后退Euler法和梯形法的局部截断误差表达式。

解5.5

(1)向前Euler法

前面已讲述过向前Euler法的表达式为

xn+1=xn+hfxntn

由局部截断误差的定义有xn=xtn),将其Taylor级数展开有

978-7-111-58306-6-Chapter05-61.jpg

另外,

978-7-111-58306-6-Chapter05-62.jpg

故有

978-7-111-58306-6-Chapter05-63.jpg

(2)后退Euler法(www.xing528.com)

后退Euler法的表达式如下:

xn+1=xn+hfxn+1tn+1

采用与向前Euler法相同的方法进行推导,但这里采用

978-7-111-58306-6-Chapter05-64.jpg

可得

978-7-111-58306-6-Chapter05-65.jpg

注意,向前Euler法和后退Euler法的局部截断误差是相等的,但符号不同;这个特性与例5.1的结果(见图5.2)是一致的,两种方法的误差相等只是符号相反。

(3)梯形法

二阶梯形法的表达式为

978-7-111-58306-6-Chapter05-66.jpg

采用与前面相同的方法进行推导,有

978-7-111-58306-6-Chapter05-67.jpg

两种一阶Euler法的局部截断误差都是h2阶的,但二阶梯形法的局部截断误差是h3阶的。梯形法和后退Euler法都是隐式法,每一步都需要迭代求解。考察梯形法的迭代求解式(5.49):

978-7-111-58306-6-Chapter05-68.jpg

同样地,后退Euler法的迭代式为

978-7-111-58306-6-Chapter05-69.jpg

注意,这两种方法所需要的函数值估算量和计算量是相当的,但对于相同的时间步长h,梯形法的局部截断误差要比后退Euler法小得多。因此,相比后退Euler法,梯形法是一种使用更为广泛的通用隐式数值积分算法。

对于多步法,已推导出了局部截断误差的一般性表达式[6]。对于如下的一般性多步法计算公式:

978-7-111-58306-6-Chapter05-70.jpg

其对于次数小于或等于k的多项式解是完全精确的;其局部截断误差可用下式表示:

εT=Ckxk+1)τhk+1=Ohk+1) (5.88)

式中,-phτh

978-7-111-58306-6-Chapter05-71.jpg

上述表达式提供了一个近似计算每一步局部截断误差(以xh变量的函数)的方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈