Pregunta

Is it possible to solve a time delay differential equations using C++ Boost - odeint library ? For an instance below equation:

x'(t) = r*x(t)*(1 - x(t-tau)), 

where tau is a constant value for time delay.

¿Fue útil?

Solución

Yes, you can. But odeint is not explicitly designed for DDEs. There are two possibilities to solve DDEs with odeint:

  1. You consider x and its discretized history as dependend variables and use directly the steppers.
  2. You consider only x as dependent variable and pass the history with the system function (your r.h.s.). But in this case you should only use steppers which evaluate the state at multiplies of you timesteps, like Euler or RK2.

If I have time I will write a more concrete answer, maybe with some code snippets.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top