type
status
date
slug
summary
tags
category
icon
password
Property
对于一个附带了初值条件(否则将无法定义的截距)的一阶常微分方程:
求函数 在若干点 的函数值
假定方程右侧的多项式 是连续的,且关于 满足比连续更为高级的条件Lipschitz连续条件(收缩映射):
只要满足Lipschitz条件,存在单解
一阶近似法
既然只需要在离散的点集上进行求算,故上述方程便允许一定程度上的信息损失,而这种近似操作的首选目标便是微分或积分算子:
导数的差商近似
使用"向前的"差商来近似方程中的导数项,有
故由式子初值 可迭代求出所有的
本质上是一种基于Taylor公式的线性近似,称为Euler方法
积分的数值积分近似
上述方程还可以写作:
两侧积分:
再以矩形公式近似上述积分值:
故由初值 可迭代求出所有的
高阶近似法 Euler方法
上述对于微积分的近似始终只基于单点函数值来预测,这导致了精度的下降,因此尝试使用两点的函数值来预测。
考查前向差商,将其近似为导数:
于是:
以此类推,可以得到:
因为该式可以直接通过前一项计算得到后一项的值,因此该式又称为显式Euler法。
既然考虑了前向差商,当然还可考虑后向差商:
于是:
即:
因为未知数出现在等式两侧,不能直接得到,故称为隐式Euler法。
根据上述两种Euler方法,又可以对两种方法取平均,即得到:
该方法又称为梯形格式。
其实,显式Euler法的精度没有那么高,但是隐式Euler法又需要解方程得到,因此又有了一种改进的方法,即先用显式欧拉公式作预测,得到:
然后再将预测结果 代入隐式Euler法中,得到:
然后对二者取平均,得到:
写成 与 的关系式即为:
该方法称为改进Euler法,因为进行了预测-校正的步骤,因此又称预测-校正法。
基于该思路,我们又可以将这样的改进方法进行延伸:
其中, 。且 为所取得的 值的个 数。这种方法称为Runge-Kutta方法。特别的,当 时是经典的Runge-Kutta方法:
很显然,上述的几种方法都是单步法,判断标准为:计算 时只用了前一步的信息 。
除了以上几种单步法,还有一种方法,即用中心差商来近似导数:
即得到:
即有:
显然这种方法不是单步法,但是也比较简单,计算 需要用到前两步的信息 ,因此称为两步法。
局部截断误差和方法的阶
单步法可以写成以下形式:
若 中含有 ,则方法是隐式的,否则是显式的。
从 开始计算,如果考虑每一步产生的误差,直到 ,则有误差 ,称为方法在点的整体截断误差。分析和求得整体截断误差 很复杂,为此仅考虑从到的局部情况,并假设之前的计算没有误差,即。此时,
即为单步法 的局部截断误差。而且若
则该方法是 阶方法,具有 阶精度。
求局部截断误差的步骤如下:
- 局部化假设,即令
- 将 在 处Taylor展开
- 将 在 处Taylor展开
- 计算
例如:显式Euler法的局部截断误差和显式Euler法的阶
其主项为 ,即 ,因此显式Euler法的阶为 1
单步法的收敛性与稳定性
收敛性
对于任意固定的 ,当 (必然会有 ) 时,单步法产 生的近似解 均有
则该方法是收敛的。
稳定性
若一种数值方法在节点值 上有大小为 的扰动,而以后各节点值 上 产生的偏差均不超过 ,则该方法是稳定的。或者说,若某算法在计算过程中任一步产生的误差 在以后的计算中都逐步衰减,则称该算法是稳定的。
在一般分析时,只考虑试验方程:
任意一种单步法都可以用试验方程表示出来。其中 .于是可以得到:
若 ,则该单步法是绝对稳定的。在复平面内满足 的区域是绝对稳定区域。该区域与实轴的交点为绝对稳定区间。
例如:显式Euler法的绝对稳定区间
于是 ,得绝对稳定区间为:
即:
或者写成: