发生终端事件后,使用新参数重新启动python scipy.solve_ivp集成器

时间:2019-06-22 23:42:39

标签: python scipy ode

我正在使用scipy.integrate.solve_ivp解决ODE系统,因为它具有事件功能。

之所以需要此功能,是因为在集成过程中有时会得到一个奇异的矩阵,每次发生这种情况时,我都需要完成集成并使用新参数重新启动它。

我想知道在发生终端事件后是否可以使用新参数重新启动scipy.integrate.solve_ivp,如果可以的话,我该怎么做。

任何帮助将不胜感激。

这是我当前的脚本,基于以下示例 https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html

-1

谢谢。

亲切问候

1 个答案:

答案 0 :(得分:0)

您有两个选择,两个都是recursive

选项1:编写函数以在脚本内部调用自身。 recursion是真实而优雅的。

选项2:如果您的函数遇到这些需要解析的值,请使用argparsingos调用具有指定值的函数。

示例:

os.system(python3 filename.py -f argparseinputs)