我目前正在将有限差分法应用于扩散方程的解。
我认为出现了问题,如下,我的显式方法在分析解析解的误差时最准确,而 Crank-Nicolson 方法最不准确,隐式方法介于两者之间。那么,这是可能的还是我的 Python 代码中的某个地方存在错误?
PS:所有 3 种方法的错误都非常小,即:.
我目前正在将有限差分法应用于扩散方程的解。
我认为出现了问题,如下,我的显式方法在分析解析解的误差时最准确,而 Crank-Nicolson 方法最不准确,隐式方法介于两者之间。那么,这是可能的还是我的 Python 代码中的某个地方存在错误?
PS:所有 3 种方法的错误都非常小,即:.
当问题中缺乏信息可以非常肯定地回答时,情况正是如此:这当然是可能的。
误差取决于许多因素,包括原始问题的条件、数值实现的特定细节以及选择的模拟参数。我还没有看到任何矛盾。
但是,我肯定会对所有三种方法进行收敛性研究。它将允许您查看网格细化的解决方案行为,并确认您的数值实现是否证实了预期结果。收敛性研究通常允许对数值实现更加确定,而不是在一个实例中比较结果。