【问题标题】:does boost odeint have a leapfrog algorithm?boost odeint 有越级算法吗?
【发布时间】:2014-01-25 03:46:53
【问题描述】:

我正在使用 boost::odeint,到目前为止,我使用的是 runge_kutta4 步进器。现在我想切换到一种跨越式方法,例如我的迭代步骤应如下所示:

f(t+dt) = f(t-dt) - p * f(t)

所以我需要一个多步骤方法,但我对文档有点迷茫,想获得一些帮助。

【问题讨论】:

    标签: c++ boost differential-equations odeint


    【解决方案1】:

    跳跃式目前尚未实现。但是在 Adam-Bashforth 方法的帮助下应该很容易实现。我在我们的问题跟踪器中打开了一张票:https://github.com/headmyshoulder/odeint-v2/issues/119

    【讨论】:

    • 这将很快实施的可能性有多大?
    • 他们很高。几乎所有东西都已经存在。我们只需要对任意系数的 Adam-Bashforth 方法进行一个小的重构。
    • 好的,我看过 Leapfrog。实现起来并不容易。如果您需要哈密顿系统或牛顿系统的求解器,您还可以使用辛欧拉或 ymplectic_rkn_sb3a_m4_mclachlan 等辛方法之一。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多