문제

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.

도움이 되었습니까?

해결책

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top