您的位置:首页 > 编程语言 > Python开发

python:使用scipy求解常微分方程

2017-05-06 23:01 1161 查看
遇到一个物理问题,要求解如下微分方程组:

d2xdt2=wdydt

d2ydt2=−wdxdt

经参考相关资料后得知,需要用到scipy包中的odeint函数。

odeint函数使用方法如下:

def sol(y,t,v0,w0):
return (w0*y[1]+v0,-w0*y[0])
y = odeint(sol,(0,0),t,args = (10,10))


其中t是自变量,需要给出其取值范围;sol用来描述微分方程;得到的y是一个numpy矩阵,每一行对应一个因变量在自变量范围的值。

odeint所求解的方程必须是如下形式:

dydx=f(x,y)

因此,在求解上面的方程组中,实际上是求出了导数,还需要进行积分得到真实的值。

参考资料:

Scipy科学计算: http://blog.chinaunix.net/uid-21633169-id-4437868.html

scipy下载(win32 python2.7) http://download.csdn.net/download/u010156024/9302697
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python