4.3 向后 Euler 格式
向前 Euler 格式要求步长比 r⩽1/2,时间步长比空间步长必须小得多,下面介绍一个无条件稳定的差分格式。
4.3.1 差分格式的建立
(1) 建立差分格式
在结点处考虑定解问题 (4.1.1),有
∂u∂t(xi,tk)−a∂2u∂x2(xi,tk)=f(xi,tk),1⩽i⩽m−1,1⩽k⩽n
将
∂2u∂x2(xi,tk)=δ2xUki−h212∂4u∂x4(ξik,tk),xi−1<ξik<xi+1
和
∂u∂t(xi,tk)=D¯tUki+τ2∂2u∂t2(xi,¯ηik),tk−1<¯ηik<tk
代入,得到
D¯tUki−aδ2xUki=f(xi,tk)−τ2∂2u∂t2(xi,¯ηik)−ah212∂4u∂x4(ξik,tk),1⩽i⩽m−1,1⩽k⩽n(4.3.1)
注意到初边值条件 (4.1.2) 和 (4.1.3),得到
U0i=φ(xi),0⩽i⩽m(4.3.2)
Uk0=α(tk),Ukm=β(tk),1⩽k⩽n(4.3.3)
在 (4.3.1)∼(4.3.2) 中略去小量项得到
R(2)ik=−τ2∂2u∂t2(xi,¯ηik)−ah212∂4u∂x4(ξik,tk)(4.3.4)
并用 uki 代替 Uki 得到如下差分格式
D¯tuki−aδ2xuki=f(xi,tk),1⩽i⩽m−1,1⩽k⩽n(4.3.5)
u0i=φ(xi),0⩽i⩽m(4.3.6)
uk0=α(tk),ukm=β(tk),1⩽k⩽n(4.3.7)
称差分格式 (4.3.5)∼(4.3.7) 为向后 Euler 格式。
(2) 局部截断误差
R(2)ik 被称为差分格式 (4.3.5) 的局部截断误差,利用 (4.2.9) 可记
c1=max⎧⎪⎨⎪⎩12max0⩽x⩽10⩽t⩽T∣∣∣∂2u∂t2(x,t)∣∣∣,a12max0⩽x⩽10⩽t⩽T∣∣∣∂4u∂x4(x,t)∣∣∣⎫⎪⎬⎪⎭
可以得到
|R(2)ik|⩽c1(τ+h2),1⩽i⩽m−1,1⩽k⩽n(4.3.8)
4.3.2 差分格式的求解
我们记
uk=(uk0,uk1,⋯,ukm−1,ukm)
由 (4.3.6) 知第 0 层上的值 u0 已知,设已经确定出第 k−1 层的值 uk−1,则关于第 k 层值的差分格式为
D¯tuki−aδ2xuki=f(xi,tk),1⩽i⩽m−1
uk0=α(tk),ukm=β(tk)
进一步有
−ruki−1+(1+2r)uki−ruki+1=uk−1i+τf(xi,tk),1⩽i⩽m−1
uk0=α(tk),ukm=β(tk)
可将上式写成如下的矩阵形式
⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣1−2r−r−r1−2r−r⋱⋱⋱−r1−2r−r−r1−2r⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣uk1uk2⋮ukm−2ukm−1⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣uk−11uk−12⋮uk−1m−2uk−1m−1⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦+⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣τf(x1,tk)+ruk0τf(x2,tk)⋮τf(xm−2,tk)τf(xm−1,tk)+rukm⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦(4.3.9)
由 (4.3.9) 可以看到在每一个时间层上只要解一个三对角线性方程组即可。
4.3.3 差分格式解的先验估计式
定理 4.3.1
设 {uki|0⩽i⩽m,0⩽k⩽n} 为差分方程组
D¯tuki−aδ2xuki=gki,1⩽i⩽m−1,1⩽k⩽n(4.3.10)
u0i=φi,0⩽i⩽m(4.3.11)
uk0=0,ukm=0,1⩽k⩽n(4.3.12)
的解,则对任意步长比 r,有
∥uk∥∞⩽∥φ∥∞+τk∑l=1∥gl∥∞,0⩽k⩽n
其中,∥gl∥∞=max1⩽i⩽m−1|gli|。
证明:将第一个式子写成
(1+2r)uki=r(uki−1+uki+1)+uk−1i+τgki,1⩽i⩽m−1,1⩽k⩽n
则有
(1+2r)|uki|⩽r(|uki−1|+|uki+1|)+|uk−1i|+τ|gki|⩽2r∥uk∥∞+∥uk−1∥∞+τ∥gk∥∞,1⩽i⩽m−1,1⩽k⩽n
于是
(1+2r)∥uk∥∞⩽2r∥uk∥∞+∥uk−1∥∞+τ∥gk∥∞,1⩽k⩽n
化简可得
∥uk∥∞⩽∥uk−1∥∞+τ∥gk∥∞,1⩽k⩽n
递推可得
∥uk∥∞⩽∥u0∥∞+τk−1∑l=1∥gl∥∞=∥φ∥∞+τk−1∑l=1∥gl∥∞,1⩽k⩽n
证毕。
4.3.4 差分格式解的存在性和唯一性
定理 4.3.2
差分格式 (4.3.5)∼(4.3.7) 的解存在且唯一。
证明:易见差分格式 (4.3.5)∼(4.3.7) 需求解的矩阵形式 (4.3.9) 其系数矩阵是严格对角占优的,因而存在唯一解。
证毕。
4.3.5 差分格式解的收敛性和稳定性
(1) 收敛性
给出差分格式的收敛性的相关定理。
定理 4.3.3
设 {u(x,t)|0⩽x⩽1,0⩽t⩽T} 为定解问题 (4.1.1)∼(4.1.3) 的解,{uki|0⩽i⩽m,0⩽k⩽n} 为差分格式 (4.3.5)∼(4.3.7) 的解,则对任意步长比 τ,有
max0⩽i⩽m|u(xi,tk)−uki|⩽c1T(τ+h2),0⩽k⩽n(4.3.13)
其中,c1 由式 (4.2.9) 定义。
证明:记误差
eki=u(xi,tk)−uki,0⩽i⩽m,0⩽k⩽n
将式 (4.3.1)∼(4.3.3) 分别与式 (4.3.5)∼(4.3.7) 相减,得到误差方程为
D¯teki−aδ2xeki=R(2)ik,1⩽i⩽m−1,1⩽k⩽n(4.3.14)
e0i=0,0⩽i⩽m(4.3.15)
ek0=0,ekm=0,1⩽k⩽n(4.3.16)
应用定理 4.3.1 并注意到式 (4.3.8),可得
∥ek∥∞⩽τk∑l=1max1⩽i⩽m−1|R(2)il|⩽τ⋅k⋅c1(τ+h2)⩽c1T(τ+h2),0⩽k⩽n
证毕。
(2) 稳定性
给出差分格式的稳定性的相关定理
定理 4.3.4
差分格式 (4.3.5)∼(4.3.7) 对任意步长比 τ 关于初值和右端项在下述意义下是稳定的:设 {uki|0⩽i⩽m,0⩽k⩽n} 为差分方程
的解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现