【问题标题】:Julia Differential Algebraic Equation as a Boundary Value ProblemJulia 微分代数方程作为边值问题
【发布时间】:2021-07-11 03:10:37
【问题描述】:

Julia 是否支持边值微分代数方程?我有一个带有可变质量矩阵的隐式 ODE,有时是奇异的,所以我必须使用 DAEProblem。我的问题是 x1(t) 和 x2(t) 的两个耦合二阶 ODE,我通过设置 x1'(t) = y1(t) 和 x2'(t)=y2(t) 已将其转换为四个一阶方程.我在域的开头和结尾都有 x1 和 x2 的值,但在任何地方都没有 y1 或 y2 的值​​,因此我需要 DAE 和 BVP。

This github 帖子表明这是可能的,但恐怕我对机制的了解不够深入,无法理解如何将 DAEProblem 与 BVProblem 耦合。

我已经成功地按照数字配方编写了多个射击代码来解决问题,但它相当笨拙。最终,我想将它与 DiffEqFlux 配对(我沿域对 x1 和 x2 进行了很多测量,并且不知道微分方程的确切形式),但我怀疑如果有一个将 BVProblem 与 DAEProblem 联系起来的更直接的方法。

【问题讨论】:

标签: julia differential-equations


【解决方案1】:

直接转到 DiffEqFlux,因为参数估计包含 BVP。将边界条件写为 DAEProblem 上损失函数的一部分(即起始值应等于 x,最终值应等于 y),并在优化任何参数的同时优化初始条件。仅优化初始条件而不优化任何参数相当于这种形式的单次射击 BVP 求解器,这允许同时进行参数估计。或者使用multiple shooting layer functions进行多重拍摄。或者使用带有质量矩阵的BVProblem

如果您需要更多帮助,您需要分享您尝试过但没有成功的代码,因为这并不比这更难,因此很难提供比“使用构造函数x”更通用的帮助.

【讨论】:

    猜你喜欢
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    相关资源
    最近更新 更多