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

遇到一個物理問題,要求解如下微分方程組:
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章