我正在将代码从使用scipy的odeint转换为scipy的solve\u ivp。使用odeint时,我会使用while循环,如下所示:
while solver.successful() :
solver.integrate(t_final, step=True)
# do other operations
这个方法允许我在每个时间步之后存储依赖于解决方案的值。你知道吗
我现在正在切换到使用solve\u ivp,但不确定如何使用solve\u ivp解算器来实现此功能。有人用solve\u ivp完成了这个功能吗?你知道吗
谢谢!你知道吗
我想我知道你想问什么。我有一个程序,它使用solve\u ivp在每个时间步之间单独积分,然后使用这些值来计算下一次迭代的值。(即传热系数、传输系数等)我使用了两个嵌套的for循环。内部for循环计算或完成您在每个步骤需要执行的操作。然后将每个值保存在一个列表或数组中,然后内部循环应该终止。外循环只能用于输入时间值,并可能重新加载必要的常量。你知道吗
例如:
假设你有这样一个系统
d(Y1)/dt=a1*Y2+Y1
d(Y2)/dt=a2*Y1+Y2
从t=0,10开始解。时间步长为0.1。其中a1和a2是在别处计算或确定的值。这个代码就行了。你知道吗
相关问题 更多 >
编程相关推荐