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

xiaoxiao2021-02-28  103

遇到一个物理问题,要求解如下微分方程组: 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

转载请注明原文地址: https://www.6miu.com/read-67384.html

最新回复(0)