Я хочу реализовать адаптивный размер шага в моем методе Рунге-Кутты, который я прилагаю ниже:
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.