什么scipy.integrate.ode.integrate()可选`step`和`relax`参数呢?

dkv*_*dkv 2 python numpy scipy numerical-integration ode

我很清楚如何以scipy.integrate.ode.integrate(t)最简单的形式使用该函数,但API读取它还需要两个可选参数,即steprelax.当前文档没有关于这些参数的信息,也没有在示例中使用它们.我想知道,他们做了什么以及他们有用的情况是什么?

jak*_*vdp 6

steprelax参数存在,允许用户运行只是积分算法,而不是全面整合的部分.它们对于测试算法的内部结构非常有用,但对普通用户来说并不是特别有用.

两个参数都被视为布尔标志,以选择不同类型的部分集成.如果step为True(非零),则integrate()运行step()积分器的方法,其文档字符串说明"""Make one integration step and return (y1,t1)."""基本上它只在正常的集成过程中运行一个步骤.

如果relax为True(非零),则integrate()运行run_relax()积分器的方法,其文档字符串说明"""Integrate from t=t0 to t>=t1 and return (y1,t)."""基本上,它运行积分直到它传递所需的值,但不执行指定值的额外后退步骤.

这一切都可以在IntegratorBase源代码中看到.


编辑:我在SciPy中打开了一个Pull请求来澄清这些文档:https://github.com/scipy/scipy/pull/7320/