4.4 Richardson 格式
向前 Euler 格式和向后 Euler 格式的收敛阶均为 O(τ+h2),记关于时间步长 τ 是一阶的,关于空间步长 h 是二阶的。为了使得收敛阶提高到 O(τ2+h2),一个很自然的想法是用关于时间 t 的一阶中心差商去近似关于时间的导数。
4.4.1 差分格式的建立
在结点处考虑定解问题 (4.1.1),有
∂u∂t(xi,tk)−a∂2u∂x2(xi,tk)=f(xi,tk),1⩽i⩽m−1,1⩽k⩽n−1(4.4.1)
将式子
∂2u∂x2(xi,tk)=δ2xUki−h212∂4u∂x4(ξik,tk),xi−1<ξik<xi+1
和式子
∂u∂t(xi,tk)=D^tUki−τ26∂3u∂t3(xi,~ηik),tk−1<~ηik<tk+1
代入到式 (4.4.1) 得到
D^tUki−aδ2xUki=f(xi,tk)+τ26∂3u∂t3(xi,~ηik)−ah212∂4u∂x4(ξik,tk),1⩽i⩽m−1,1⩽k⩽n−1(4.4.2)
注意到初边值条件 (4.1.2) 和 (4.1.3),有
U0i=u(xi,0)=φ(xi),0⩽i⩽m(4.4.3)
Uk0=α(tk),Ukm=β(tk),1⩽k⩽n(4.4.4)
在 (4.3.2)∼(4.3.4) 中略去小量项
R(3)ik=τ26∂3u∂t3(xi,~ηik)−ah212∂4u∂x4(ξik,tk)
并用 uki 代替 Uki,得到如下差分格式
D^tuki−aδ2xuki=f(xi,tk),1⩽i⩽m−1,1⩽k⩽n−1(4.4.5)
u0i=φ(xi),0⩽i⩽m(4.4.6)
uk0=α(tk),ukm=β(tk),1⩽k⩽n(4.4.7)
称差分格式 (4.4.5)∼(4.4.7) 为 Richardson 格式。称 R(3)ik 为差分格式 (4.4.5) 的局部截断误差。显然 Richardson 格式是一个显式格式。
4.4.2 差分格式的求解
差分格式 (4.4.5)∼(4.4.7) 可写成
uk+1i=2r(uki−1−2uki+uki+1)+uk−1i+2τf(xi,tk),1⩽i⩽m−1,1⩽k⩽n−1
应用 Richardson 格式计算第 k+1 层上的值时,需要用到第 k 层和第 k−1 层上的值,它是一个三层格式。实际计算时,当第 0 层和第 1 层上的值已知时,可依此求出第 2 层、第 3 层、⋯,直到第 n 层的值,现第 0 层的值已由 (4.4.6) 给出,第 1 层的值如何给出呢?
由方程 (4.1.1) 以及初值条件 (4.1.2),有
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2021-04-18 C++基本语法与标准库 - free()函数释放内存后的指针行为
2020-04-18 逆序对的计算
2020-04-18 归并排序(分治)
2020-04-18 乱序数组中第k大的数(顺序统计量)