当我调用它时,我想存储求解器本身采取的不同集成步骤:
solver1.integrate(t_end)
所以我做了一个while循环并启用了step选项,将其值设置为True
:
while solver1.successful() and solver1.t < t0+dt:
solver1.integrate(t_end,step=True)
time.append(solver1.t)
然后我绘制y
,整合的结果,我的问题来了。我有出现在定位区域的不稳定性:
我认为这是因为循环或类似的原因,所以我检查了结果,删除了step
:
while solver1.successful() and solver1.t < t0+dt:
solver1.integrate(t_end)
和惊喜......我有正确的结果:
这是一个非常奇怪的情况......如果你们中的某个人能帮助我解决这个问题,我将不胜感激。
编辑 :
要设置求解器,我这样做:
solver1 = ode(y_dot,jac).set_integrator('vode',with_jacobian=True)
solver1.set_initial_value(x0,t0)
我使用存储结果.append()