RungeKutta方法的自适应步长

2024-04-18 03:24:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的Runge-Kutta方法中实现一个自适应步长,如下所示:

def rk4trial(f,v0,t,n,V,h):  
    v=v0
    for j in range(n):  
        V.append(v)
        k1=f(v,t[j])*h
        k2=f(v+0.5*k1,t[j]+0.5*h)*h
        k3=f(v+0.5*k2,t[j]+0.5*h)*h
        k4=f(v+k3,t[j]+h)*h
        v=v+(k1+2*k2+2*k3+k4)/6
    return V, t, h

有人知道最简单的方法吗?我现在处理的方程对步长非常敏感,尽管我想继续使用这个RK4方法。在


Tags: 方法infordefrangek2k1runge