【发布时间】:2018-06-23 01:36:49
【问题描述】:
为了使用 SciPy 解决简单的 ODE,我曾经使用 odeint 函数,形式为:
scipy.integrate.odeint(func, y0, t, args=(), Dfun=None, col_deriv=0, full_output=0, ml=None, mu=None, rtol=None, atol=None, tcrit=None, h0=0.0, hmax=0.0, hmin=0.0, ixpr=0, mxstep=0, mxhnil=0, mxordn=12, mxords=5, printmessg=0)[source]
要集成的简单函数可以包含以下形式的附加参数:
def dy_dt(t, y, arg1, arg2):
# processing code here
在 SciPy 1.0 中,似乎 ode 和 odeint 函数已被更新的 solve_ivp 方法取代。
scipy.integrate.solve_ivp(fun, t_span, y0, method='RK45', t_eval=None, dense_output=False, events=None, vectorized=False, **options)
但是,这似乎没有提供 args 参数,文档中也没有任何关于实现 args 传递的指示。
因此,我想知道新 API 是否可以传递参数,或者这是一个尚未添加的功能? (如果有意删除此功能,我会觉得这是一种疏忽?)
参考: https://docs.scipy.org/doc/scipy/reference/integrate.html
【问题讨论】:
标签: python numpy scipy ode odeint