反向欧拉法

来自testwiki
跳转到导航 跳转到搜索

数值分析科学计算中,反向欧拉法隐式欧拉法是求解常微分方程最基本的数值方法之一。其类似于(标准)欧拉法,不过是一种隱式方法。反向欧拉法的时间误差为一阶。

描述

考虑常微分方程

dydt=f(t,y)

有初值y(t0)=y0.此处函数f与初值数据t0y0均未知;函数y取决于实变量t,同样未知。数值方法产生一个序列y0,y1,y2,,使yk近似于y(t0+kh),其中h称为步长。

反向欧拉法计算近似值的方法是

yk+1=yk+hf(tk+1,yk+1). [1]Template:Rp

异于(正向)欧拉法,后者用的是f(tk,yk)而非f(tk+1,yk+1)

反向欧拉法是一种隐式方法:新近似值yk+1在方程两侧都出现,因此该方法要求解未知yk+1的代数方程。对非刚性问题,这可采用定点迭代法:

yk+1[0]=yk,yk+1[i+1]=yk+hf(tk+1,yk+1[i]).

若序列收敛(在给定精度内),则该方法会将其极限作为新的近似 yk+1[1]Template:Rp

或者,也可以使用牛顿–拉斐森法求解代数方程。

推导

将微分方程dydt=f(t,y)tn积分到tn+1=tn+h,有

y(tn+1)y(tn)=tntn+1f(t,y(t))dt.

现在用右手矩形法近似计算右式的积分:

y(tn+1)y(tn)hf(tn+1,y(tn+1)).

最后,用yn应近似于y(tn)的性质,就得到了反向欧拉法公式。[1]Template:Rp

若用左手矩形法,同样的推导会得到(标准)欧拉法。

分析

圆盘外的粉色区域是反向欧拉法的稳域。

大O符号表示反向欧拉法的局部截断误差(LTE)(定义为迭代一步产生的误差)为O(h2)。特定时刻t的误差为O(h2),这是说该方法的阶数为1。一般来说,具有O(hk+1)LTE的方法定义为k阶。

反向欧拉法的绝对稳域是以1为圆心,半径为1的圆盘在平面内的补集,如图所示。[1]Template:Rp这包括整个复平面的左半部,使其适于求解刚性方程[1]Template:Rp事实上,反向欧拉法甚至是L-稳定的。

利用反向欧拉法求解离散稳定系统的区域是半径为0.5的圆,位于z平面的(0.5, 0)处。[2]

推广与改进

反向欧拉法是(前向)欧拉法的一种变体。其他变体还有半隐式欧拉法和指数欧拉法。

反向欧拉法可视为1阶段的龙格-库塔法,可用Butcher表描述:

111

该方法也可看作是1步的线性多步法,是Adams–Moulton法族中的第一个方法,也是后向微分法的第一个方法。

另见

注释

Template:Reflist

参考文献

Template:常微分方程数值方法

  1. 1.0 1.1 1.2 1.3 1.4 Template:Harvnb
  2. Wai-Kai Chen, Ed., Analog and VLSI Circuits The Circuits and Filters Handbook, 3rd ed. Chicago, USA: CRC Press, 2009.