Python odeint 使用方法
有人能告诉我怎么给python里的odeint函数传参数,以便计算积分吗?
我想计算从0到2的e^x的积分,但我不太确定该怎么传参数。文档对我来说不是很清楚。
谢谢
2 个回答
3
这里有一个例子,假设 y(0) = 1。
import scipy
import scipy.integrate
def integrateExp(y0, a, b):
limits = [a, b]
integral = scipy.integrate.odeint(lambda y, t : scipy.exp(t), y0, limits)
return integral[1]
print integrateExp(1, 0, 2)
第一个参数应该接收 (y,t),并返回相应的导数。我在这里用了一个简单的写法,因为对 exp(t) 求导是很简单的。
1
如果你只是想计算积分,而不是解决微分方程,你也可以使用
from numpy import exp
from scipy.integrate import quad
def f(x):
return exp(x)
result, error = quad(f, 0, 2)