2014-02-19 64 views
0

我有一個諧波振盪器的耦合等待時間tau。如何用boost odeint處理過去的時間偏移?

dx/dt = -y(t - tau) 
dy/dt = x(t - tau) 

我該如何編碼odeint?

我是否必須保存計算出的狀態並在時間t-tau內插x和y的值? 這項工作?我是否必須使用特殊的步進器才能執行此操作或使用固定的步驟?

回答

1

啊,這是一個延遲微分方程(DDE)。最近,SO [1]也有類似的問題。 Odeint不直接支持DDE。但是您可以使用迄今描述的技術:保存狀態和/或內插。

另一種方法是將完全離散化的歷史記錄納入狀態。

[1] DDE using boost odeint