我对odeint
有些困惑。
我找到了下面的一个例子来解决y"=ay + by'
。所以看起来y[0]
是函数,y[1]
是一阶导数。
那么下面的表达式是否意味着y[1] =y'
和y'[1]= a*y[0]+b*y[1]
?
如果是y[2], a*y[0]+b*y[1]
,那会意味着什么?
我有点困惑,因为表达式没有说方程的左边。
我也遇到过像[a(y[0], y[1]), b(y[0], y[1])]
这样的表达式,但不知道微分方程是什么。
这里有一个例子:
from scipy.integrate import odeint
from pylab import * # for plotting commands
def deriv(y,t): # return derivatives of the array y
a = -2.0
b = -0.1
return array([ y[1], a*y[0]+b*y[1] ])
time = linspace(0.0,10.0,1000)
yinit = array([0.0005,0.2]) # initial values
y = odeint(deriv,yinit,time)
figure()
plot(time,y[:,0])
xlabel('t')
ylabel('y')
show()