【发布时间】:2017-09-27 09:41:45
【问题描述】:
我正在尝试使用 scipy 函数 odeint 使用代码
tmax,dt=5000,1.68
t=linspace(0,tmax,num=round(tmax/dt)+1)
def d_displ(x,t,a,b,c,d,e):
#x'=y, y'=a*x+(b/(x**2.0+c))*x+d*y+e
y=x[0]
dy=x[1]
dx=[dy,a*x+(b/(x**2.0+c))*x+d*y+e]
return dx
def displ(d_displ,J_merger,a,b,c,d,e):
y0=[0.0,a]
sol=odeint(d_displ,y0,t,args=(a,b,c,d,e))
return sol
print displ(d_displ,J_merger,1.0,2.0,3.0,4.0,5.0)
但我得到了错误
TypeError: float() argument must be a string or a number
为什么?我想要的是 x 的一组值。
【问题讨论】:
-
你能添加必要的导入吗?
标签: python python-2.7 integration odeint