如何在python中使用相应的初始条件设置以下odes?
x'(t) =x(t) - y(t) - e^t
y'(t) =x(t) + y(t) + 2e^t
和和
x(0)= -1
_y(0)= -1
0 <= t <= 4
以下是我到目前为止所拥有的:
def f(u, t):
x, y = u
return [x+y-e**t, x+y+2*e**t]
x0, y0 = [-1.0,-1.0]
t = numpy.linspace( 0,4,50 )
我猜你正在尝试用 odeint 解决它们。首先,我假设您在脚本中使用了这个前奏:
import numpy as np
from scipy.integrate import odeint
你的方程是:
def equation(X, t):
x, y = X
return [ x+y-np.exp(t), x+y+2*np.exp(t) ]
然后你可以用
init = [ -1.0, -1.0 ]
t = np.linpsace(0, 4, 50)
X = odeint(equation, init, t)
您可以提取 x(t) 和 y(t)
x = X[:, 0]
y = X[:, 1]