常微分方程数值解
本章介绍求解微分方程数值解的基本思想和方法。
许多科学和技术问题的数学模型,常常归结为一个含有自变量、未知函数和它的一阶导数和高阶导数的方程,称为常微分方程。它是描述运动、变化规律的重要数学方法之一。
分为两类:
1.初值问题,即给出未知函数及导数在初始点的值的问题;
2.边值问题,即给出未知函数及(或)它的某些导数在区间两个端点的值的问题。
常微分方程初值问题
这里仅讨论一阶微分方程初值问题的数值解法,即,所要讨论的问题为:
其中为的已知函数,为给定的初值。
初值问题的适定性(其解是否唯一存在)
将区域:记为,即
设为连续映射,若存在常数使得不等式
对一切都成立,则称在上关于满足Lipschitz条件,而式中的常数称为Lipschitz常数。
补充定理:初值问题
,
当在上连续,且关于满足Lipschitz
条件,则其解存在且唯一.
本章,总是假设所讨论的问题满足解的存在唯一性定理条件。
数值解法
寻求微分方程初值问题的解在一系列离散点
上的近似值的方法.
: 问题的数值解。
数值解所满足的离散方程统称为差分格式.
步长: ,一般取定步长
§1 Euler方法
Euler公式
将初值问题
的求解区间等分,
分点,
其中。
将在进行二阶Taylor展开:
即
记: ,截去得近似计算公式:
.
可得的近似值的递推公式
(*1)
上式称为Euler公式。
初值问题给定了,代入(*1),依次解出数值解,,。
称为Euler方法的局部截断误差。
例1 用Euler公式解初值问题
解:取,Euler公式的具体形式为
其中,
已知,则有
… … …
依次计算可得
其部分结果见下表
数值解
准确解
误差
其中,准确解为:。
可见Euler方法的计算结果精度不太高。
几何意义:用折线近似代替方程的真解曲线。故该方法常常也称为欧拉折线法。见P161图7-1。
隐式(后退的)Euler 公式
将在进行Taylor展开:
,令,则,
即
令,截去,则
得到数值求解公式:
(*2)
(*2)式称为隐式Euler公式。即要求出必需要解方程,这样的公式叫做隐式公式,而Euler公式是显式公式。
称为隐式Euler方法的局部截断误差
方法的阶
1.定义:
若局部截断误差(将准确解代入公式的左、右两端,其左端与右端之差)
,
则称该数值方法具有阶精度。越大,精度越高,数值方法越好。
①Euler方法的精度
即:
Euler方法具有一阶精度 。
②后退的Euler方法的精度
即:
后退的Euler方法也是具有一阶精度
改进的Euler方法
考虑到Euler方法的局部截断误差为,而后退的Euler方法的局部截断误差为,其中,的不一定相同。
我们将Euler公式:
和后退的Euler公式:
两端求平均值:
(*3)
(*3)式称为平均(梯形)公式
其局部截断误差为:
将及均在点处三阶Taylor展开
这种方法具有二阶精度
平均(梯形)公式
为隐式公式,一般用迭代法求解,迭代初值由Euler公式提供,只迭代一次即得如下预测-校正型公式
或
称上式为改进的Euler 公式
可以证明,改进的Euler 公式具有二阶精度。
例2 用改进的Euler公式解初值问题
解:取,改进的Euler公式的具体格式为
具体计算过程如下
… … …
依次计算可得
见p162表7-2。
可见改进的Euler方法的计算结果精度比Euler方法要高。
例:已知初值函数:,取步长,用改进的欧拉方法求初值问题的数值解。
解:改进的欧拉方法的具体格式为:
①
②