Estoy tratando de implementar el método Runge-Kutta de cuarto orden para resolver un ODE de primer orden en Python, es decir, . Entiendo cómo funciona el método, pero estoy tratando de escribir un algoritmo eficiente que minimice el número de veces quese calculaf(x,y)ya que esto es bastante costoso. Me han dicho que es posible reutilizar los puntos de datos que se calcularon previamente a medida que se incrementan los pasos, pero no puedo ver cómo. ¿Alguien sabe cómo hacer esto o no es posible?
f(x,y)
para que los resultados sean memorables.