我正在使用scipy的odeint解决一个微分方程系统,我现在有一个问题,我似乎无法修复:如果满足某个条件,我必须'及时'回到早期状态,改变一个(全局)参数并从那里继续整合 .

起初我想,虽然你不能真正回到odeint,我将存储满足条件的时间,改变系统的状态(集成的变量),然后继续从那里整合 . 不幸的是,我找不到从odeint中访问过去时间变量值的方法 . 有人知道解决我的困境的方法吗?

如果那是不可能的,有人会建议采用不同的方式吗?性能是一个问题,所以我真的不想在python中编写自己的解算器 . 我可以在C中完成它,但这需要我改变整个实现,这将花费我很多时间 .