这取决于您想如何解决它:通过隐式或显式方法。
显式方法当然是最容易编码但有限制的dt为了稳定;隐式方法更难编码,但没有这样的限制dt.
例如,如果我们考虑一个简单的平流方程
∂w∂t+u∂w∂x=0
然后显式方法将其解决为(使用您的符号,我认为大多数人都这样做n→n+1, 而不是n−1→n)
wnj+wn−1jdt=u[wn−1j+1−wn−1j−12⋅dx]
更常见的写成
wnj=wn−1j+χu[wn−1j+1−wn−1j−1]
在哪里χ=dt/2dx. 隐式方法将其解决为
wnj+wn−1jdt=u[wnj+1−wnj−12⋅dx]
更常见的写成
−χuwnj+1+wnj−χuwnj−1=−wn−1j
这需要求解一个三对角矩阵(幸运的是有一个相对简单的算法可以解决这个问题)。
我通常会建议先尝试显式方法,然后看看时间步长是否足够有用;如果不是,那么是时候使用隐式方法了。