scipy.integrate.solve_ivp 不清楚如何解决形式 0=F(t, y(t), y'(t)) 的隐式 ODE [英] scipy.integrate.solve_ivp unclear how to solve implicit ODE of form 0=F(t, y(t), y'(t))

查看:80
本文介绍了scipy.integrate.solve_ivp 不清楚如何解决形式 0=F(t, y(t), y'(t)) 的隐式 ODE的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前,我确实使用 assimulos 求解器套件来求解以下形式的隐式微分方程0 = F(t, y(t), y'(t)).我想使用本机 scipy 安装附带的求解器,并查看 scipy 的文档.集成.solve_ivp.文档说求解器解决了以下形式的系统:

Currently, I do use assimulos solver suite to solve an implicit differential equation of the form 0 = F(t, y(t), y'(t)). I would like to use a solver which comes with a native scipy installation and had a look at the documentation for scipy.integrate.solve_ivp. The documentation says that the solver solves a a system of the form:

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

Solve an initial value problem for a system of ODEs. This function numerically integrates a system of ordinary differential equations given an initial value dy / dt = f(t, y) y(t0) = y0

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

I do miss the ability to solve a system of the form dy / dt = f(t, y, y'). Is this possible with scipy.integrate.solve_ivp ?

推荐答案

这样的方程称为 微分代数方程 (DAE).据我所知,SciPy 没有内置的 DAE 求解器.

Such an equation is called a differential algebraic equation (DAE). As far as I know, SciPy doesn't have a built-in DAE solver.

这个答案这个类似的问题提供了一个使用fsolve结合odeint解决问题的代数部分的例子.这可能适用于您的问题.

This answer to this similar question provides an example of using fsolve to solve the algebraic part of the problem in combination with odeint. This might be applicable to your problem.

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

You might also be interested in the ODES package, which provides additional solvers as an extension for SciPy, including a DAE solver.

这篇关于scipy.integrate.solve_ivp 不清楚如何解决形式 0=F(t, y(t), y'(t)) 的隐式 ODE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆