数学 - 微分方程数值解 - 第 1 章 一阶常微分方程初值问题 - 1.5 相容性、收敛性与稳定性

1.5 相容性、收敛性与稳定性

1.5.1 相容性与收敛性

定义相容性。(非数学性质严格)

定义 1.5.1 相容性

当步长 h0 时,差分方程是否无限逼近微分方程。

定义收敛性。(非数学性质严格)

定义 1.5.2 收敛性

xΩ,当步长 h0 时,差分方程的解是否无限逼近微分方程的解。

(1) 显式单步法的相容性

对于一个微分方程数值解,考虑原问题

(1.5.1){y=f(x,y)y(x0)=y0

再考虑单步法离散过程

(1.5.2){yn+1=yn+hφ(xn,yn,h)y(x0)=y0

根据相容性定义,上述问题的相容性是指,如果增量函数 φ(x,y,h) 对任意 xy 都关于 h 连续且满足条件:

φ(xn,yn,0)=limh0φ(xn,yn,h)=f(x,y)

则称差分方程 (1.5.2) 与原方程 (1.5.1) 相容

定理 1.5.1

对显式单步法,若 φ(x,y,h) 足够光滑(连续,且对 h 偏导数存在且有界),则单步法为 p 阶(p1)的必要条件是差分方程 (1.5.2) 与原方程 (1.5.1) 相容。

证明:yn+1=yn+hφ(xn,yn,h)p 阶方法。

则有

y(xn+1)y(xn)hφ(xn,y(xn),h)=O(hp+1)

也即下式

y(x+h)y(x)hφ(x,y(x),h)=O(hp+1)

由此可得

y(xn+1)y(xn)h=φ(xn,y(xn),h)+O(hp)

两边取极限即可得

φ(xn,y(xn),0)=limh0φ(xn,y(xn),h)=y(x)

根据相容性定义,上述问题的相容性是指,如果增量函数 φ(x,y,h) 对任意 xy 都关于 h 连续且满足条件:

φ(xn,yn,0)=limh0φ(xn,yn,h)=f(x,y)

则称差分方程 (1.5.2) 与原方程 (1.5.1) 相容

(2) 显式单步法的收敛性

根据收敛性定义,上述问题的收敛性是指,如果某种数值方法对任意 x(a,b]

limh0yn=y(x)(x=a+nh)

则称差分方程 (1.5.2) 与原方程 (1.5.1) 收敛

定理 1.5.2

设显式单步法具有 p 阶精度,其增量函数 φ(x,y,h) 关于 y 满足 Lipschitz 条件,问题 (1.5.1) 的初值是精确的,即 y(x0)=y0,则显式单步法的整体截断误差为:

en+1=y(xn+1)yn+1=O(hp)

定理 1.5.3

设显式单步法具有 p 阶(p1)精度,给定一个区域 S

S:axb,<y<,0hh0

增量函数 φ(x,y,h) 在区域 S 内连续,且关于 y 满足 Lipschitz 条件,则显式单步法是收敛的。

特别地,当 f(x,y) 在区域 D:axb,<y< 上连续,且关于 y 满足 Lipschitz 条件,则 Euler 法,改进 Euler 法和各阶 RK 方法的增量函数 φ(x,y,h) 在区域 S 内连续,且关于 y 满足 Lipschitz 条件,因而它们都是收敛的。

关于显式单步法收敛有一个更一般的结论。

定理 1.5.4

给定一个区域 S

S:axb,<y<,0hh0

设增量函数 φ(x,y,h) 在区域 S 上连续,且关于 y 满足 Lipschitz条件,则显式单步法收敛的充分必要条件是相容性条件成立

1.5.2 稳定性

在收敛性讨论中,我们都是在每步计算都是准确的前提下,估计由近似公式所产生的误差,没有考虑舍入误差。实际计算中,除了由数值方法所产生的截断误差外,还有因数字舍入而产生的舍入误差。一种数值方法,即使它满足相容性条件和收敛性条件,但若在计算过程中,舍入误差的积累越来越大,那么它的解 yn 作为原问题的近似解也可能严重失真,影响舍入误差的因素有很多,这里我们只关心它在传播过程中的增长情况,这即使数值方法的稳定性问题。

稳定性问题比较复杂,其定义也非常依赖微分方程本身。

定义 1.5.3 绝对稳定

用某种数值方法求解初值问题,当步长 h 固定时,在节点值 yn 上产生误差(扰动)δn,而由此引起后面节点值 ymm>n)的误差 |δm| 不超过 |δ|,则称此方法是绝对稳定的。

实际讨论中,以下述模型方程进行。

(1.5.3)y=λy

当步长

posted on   Black_x  阅读(2049)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2021-03-07 修改if-else多层嵌套的方法
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示