【问题标题】:scipy.integrate.solve_ivp unclear how to solve implicit ODE of form 0=F(t, y(t), y'(t))scipy.integrate.solve_ivp 不清楚如何求解形式为 0=F(t, y(t), y'(t)) 的隐式 ODE
【发布时间】:2018-11-20 14:25:11
【问题描述】:

目前,我确实使用assimulos solver suite 来求解形式为 0 = F(t, y(t), y'(t)) 的隐式微分方程。我想使用一个带有本地 scipy 安装的求解器,并查看了scipy.integrate.solve_ivp 的文档。文档说求解器解决了以下形式的系统:

求解 ODE 系统的初始值问题。 这个函数对一个给定初始值的常微分方程组进行数值积分dy / dt = f(t, y)y(t0) = y0

我确实怀念解决dy / dt = f(t, y, y') 形式的系统的能力。 scipy.integrate.solve_ivp 可以做到这一点吗?

【问题讨论】:

  • 假设y' = dy / dt,在dy / dt = f(t, y, y') 的等式两边都有y' 有什么意义?你不能只解决y'吗?
  • 有可能。但是,系统可能会略有变化(取决于用户的选择),并且每次都这样做是不可行的。此外,它是一个方程组,有几个y'

标签: python scipy


【解决方案1】:

这样的方程称为differential algebraic equation (DAE)。据我所知,Scipy没有内置的DAE Solver。

This answerthis similar question 提供了一个使用fsolve 结合odeint 解决问题的代数部分的示例。这可能适用于您的问题。

您可能还对 ODES package 感兴趣,它提供了额外的求解器作为 SciPy 的扩展,包括 DAE 求解器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多