python 的scipy 里的 odeint 这个求微分方程的函数怎么用啊 dy/dx=E(y)/x,怎么使用使用python的scip...

python\u7684scipy\u91cc\u7684odeint\u8fd9\u4e2a\u6c42\u5fae\u5206\u65b9\u7a0b\u7684\u51fd\u6570\u600e\u4e48\u7528\u554a

scipy.integrate.odeint(func,y0,t,args=(),Dfun=None,col_deriv=0,full_output=0,ml=None,mu=None,rtol=None,atol=None,tcrit=None,h0=0.0,hmax=0.0,hmin=0.0,ixpr=0,mxstep=0,mxhnil=0,mxordn=12,mxords=5,printmessg=0)\u5b9e\u9645\u4f7f\u7528\u4e2d\uff0c\u8fd8\u662f\u4e3b\u8981\u4f7f\u7528\u524d\u4e09\u4e2a\u53c2\u6570\uff0c\u5373\u5fae\u5206\u65b9\u7a0b\u7684\u63cf\u5199\u51fd\u6570\u3001\u521d\u503c\u548c\u9700\u8981\u6c42\u89e3\u51fd\u6570\u503c\u5bf9\u5e94\u7684\u7684\u65f6\u95f4\u70b9\u3002\u63a5\u6536\u6570\u7ec4\u5f62\u5f0f\u3002\u8fd9\u4e2a\u51fd\u6570\uff0c\u8981\u6c42\u5fae\u5206\u65b9\u7a0b\u5fc5\u987b\u5316\u4e3a\u6807\u51c6\u5f62\u5f0f\uff0c\u5373dy/dt=f(y,t,)\u3002fromscipyimportodeinty=odeint(dy/dt=r*y*(1-y/k),y(0)=0.1,t)\u5bf9\u4e8e\u5fae\u5206\u65b9\u7a0b\u5168\u8fd8\u7ed9\u8001\u5e08\u4e86\uff0c

odeint\u5b9e\u9645\u662f\u7528\u6765\u89e3\u5fae\u5206\u65b9\u7a0b\u7ec4\u7684\u3002
\u4ee4z = y\u2019,\u53ef\u4ee5\u628a\u65b9\u7a0b\u5316\u4e3a\u65b9\u7a0b\u7ec4\uff1a
y' = z
z' = -b*y-a*z
\u5c06y, z\u5206\u522b\u66ff\u6362\u4e3ay[0], y[1]\u5c31\u5f97\u5230\u4e86\u7a0b\u5e8f\u91cc\u7684return array([ y[1], a*y[0]+b*y[1] ])\uff0c \u8fd9\u4e2a\u7a0b\u5e8f\u628aa,b\u524d\u9762\u7684\u7b26\u53f7\u653e\u5230\u53c2\u6570\u8d4b\u503c\u91cc\u4e86\u3002

\u641e\u660e\u767d\u4e0a\u9762\u7684\u5c31\u80fd\u7528\u6765\u89e3\u65b9\u7a0b\u4e86\uff0c\u4e0b\u9762\u753b\u56fe\u90e8\u5206\u65e0\u5173\u7d27\u8981
hold('on')\u662f\u7528\u6765\u4fdd\u6301\u4e4b\u524d\u753b\u7684\u66f2\u7ebf

legend() \u663e\u793a\u66f2\u7ebf\u7684\u6807\u7b7e

scipy中提供了用于解常微分方程的函数odeint(),完整的调用形式如下:
scipy.integrate.odeint(func, y0, t, args=(), Dfun=None, col_deriv=0, full_output=0, ml=None, mu=None, rtol=None, atol=None, tcrit=None, h0=0.0, hmax=0.0,hmin=0.0, ixpr=0, mxstep=0, mxhnil=0, mxordn=12, mxords=5, printmessg=0)
实际使用中,还是主要使用前三个参数,即微分方程的描写函数、初值和需要求解函数值对应的的时间点。接收数组形式。这个函数,要求微分方程必须化为标准形式,即dy/dt=f(y,t,)。

from scipy import odeint
y = odeint(dy/dt=r*y*(1-y/k) ,y(0)=0.1,t)

对于微分方程全还给老师了,
http://hyry.dip.jp:8000/pydoc/index.html
这个地址有很多关于python做科学计算的文档,你可以去查查

扩展阅读:python手机版下载官方 ... 学python后到底能干什么 ... python matplotlib ... python for beginners ... python numpy ... python scrapy ... python seaborn ... c++和python先学哪个 ... python安装scipy库的方法 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网