Question

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.

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top