我正在开发一个项目,该项目需要找到具有6个状态变量的ODE系统的轨迹。问题是某些参数取决于状态空间。系统本身并不重要,但如果你感兴趣的话,那就是Adams et al 2004中的图2.1。我理解如何按时间改变参数,但我不确定如何使它成为状态空间本身的函数
这是我正在寻找的一个例子(a是时间的函数)
from scipy import integrate
import numpy as np
t = np.linspace(1, 10, 0.5)
X0 = [0.1]
def func(X,t)
a = 0.5 * t
return [a * b * X[0]**2]
X, infodict = integrate.odeint(func, X0, t, full_output=True, mxstep=5000000)
如何使参数b成为状态空间的函数,例如b = 1 / X [0]?
答案 0 :(得分:0)
使用评论的帮助,我只是将参数实现为状态空间的函数。它在下面:
$startTime = new \DateTime('2010-01-01 00:00');
$endTime = new \DateTime('2010-01-01 23:55');
$timeStep = 15;
$timeArray = array();
while($startTime <= $endTime)
{
$timeArray[] = $startTime->format('H:i');
$startTime->add(new \DateInterval('PT'.$timeStep.'M'));
}
var_dump($timeArray);