【发布时间】:2018-02-25 02:03:35
【问题描述】:
我正在使用scipy.integrate.odeint 在空间和时间维度上求解 ODE(扩散方程)。我通过有限差分来表达空间导数,所以整个问题是一个时间问题。
求解器可以工作,但它似乎会自动调整时间间隔和总时间(而步数保持不变)。当我将结果与不调整时间间隔的简单 FCTS 方案进行比较时,它看起来总是不同的。
我意识到odeint 使用的实际时间步长是通过infodict['tcur'] 返回的。这是否意味着我总是必须针对这些时间绘制结果解决方案?为什么在 SciPy 文档中对此有不同的解释? (在示例中,他们针对参数t 进行绘图,即我传递给odeint 的初始时间。)
编辑:
最后,这是我的代码中的一个错误。我将时间步长的索引传递给odeint 例程,而不是时间步长本身。无论如何,谢谢你的解释。
【问题讨论】: