您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在不同的SciCode求解器之间互换

在不同的SciCode求解器之间互换

为什么会发生这种情况,我该如何解决

发生这种情况的原因是几年前做出了不幸的API设计决策。 odeint并且ode该类需要不同的签名才能解决系统。

您可以通过添加一个包装程序来解决此问题,该包装程序可以在使用ode类时更改前两个参数的顺序。例如,您可以更改以下内容

    r = sc.ode(f).set_integrator(solver)

    r = sc.ode(lambda t, x, *args: f(x, t, *args)).set_integrator(solver)

更新 :在SciPy 1.1.0中,该参数tfirst添加到中scipy.integrate.odeint认值tfirst=False保留旧的行为。用tfirst=Trueodeint期望第一 的参数funct(即独立变量)。通过使用tfirst=True,同样func可以搭配odeodeint以及较新的solver_ivp

其他 2022/1/1 18:46:11 有474人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶