【问题标题】:DDE using boost odeint使用 boost odeint 的 DDE
【发布时间】:2014-02-05 09:02:34
【问题描述】:

是否可以使用 C++ Boost 求解时间延迟微分方程 - odeint 图书馆 ?例如下面的等式:

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

其中 tau 是时间延迟的常数值。

【问题讨论】:

    标签: c++ boost c++11 odeint


    【解决方案1】:

    是的,你可以。但是 odeint 并不是专门为 DDE 设计的。使用 odeint 解决 DDE 有两种可能性:

    1. 您将 x 及其离散化历史视为因变量并直接使用步进器。
    2. 您仅将 x 视为因变量,并使用系统函数(您的 r.h.s.)传递历史。但在这种情况下,您应该只使用在多个时间步上评估状态的步进器,例如 Euler 或 RK2。

    如果我有时间,我会写一个更具体的答案,也许用一些代码 sn-ps。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    相关资源
    最近更新 更多