ZKX's LAB

求助关于一个用Python求微分方程并算出极值 python随机微分方程

2020-07-20知识11

python 的scipy 里的 odeint 这个求微分方程的函数怎么用啊 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 odeinty=odeint(dy/dt=r*y*(1-y/k),y(0)=0.1,t)对于微分方程全还给老师了,http://hyry.dip.jp:8000/pydoc/index.html这个地址有很多关于python做科学计算的文档,你可以去查查python fipy 求解偏微分方程 jingyan.baidu.com/article/46650658d71872f548e5f852.html 热量的传递由微分方程给出,可以简单地理解为热量按照温度降低最快的方向进行传递。公式右边是温度的梯度,左边。python求微分方程组的数值解曲线01 如图所示:有没有专门画微分方程相图或方向场的软件,或者用Python如何实现? 有一个三变量(满足$x+y+z=1$)的微分方程组,有没有专门画相图或方向场的软件呢?另,我用python画了图…如何使用python的sympy模块解高阶微分方程,ytho是一个很有趣的语言,可以在命令行窗口运行。ytho中有很多功能强大的模块,这篇经验告诉你,如何使用ytho的ymy模块求解高阶。如何使用python计算常微分方程? 常用形式odeint(func,y0,t,args,Dfun)一般这种形式就够用了。下面是官方的例子,求解的是D(D(y1))-t*y1=0为了方便,采取D=d/dt。如果我们令初值y1(0)=1.0/3*(2.0/3.0)/gamma(2.0/3.0)D(y1)(0)=-1.0/3*(1.0/3.0)/gamma(1.0/3.0)这个微分方程的解y1=airy(t)。令D(y1)=y0,就有这个常微分方程组。D(y0)=t*y1D(y1)=y0Python求解该微分方程。from scipy.integrate import odeintfrom scipy.special import gamma,airyy1_0=1.0/3*(2.0/3.0)/gamma(2.0/3.0)y0_0=-1.0/3*(1.0/3.0)/gamma(1.0/3.0)y0=[y0_0,y1_0]def func(y,t):return[t*y[1],y[0]]def gradient(y,t):return[[0,t],[1,0]]x=arange(0,4.0,0.01)t=xychk=airy(x)[0]y=odeint(func,y0,t)y2=odeint(func,y0,t,Dfun=gradient)print ychk[:36:6][0.355028 0.339511 0.324068 0.308763 0.293658 0.278806]print y[:36:6,1][0.355028 0.339511 0.324067 0.308763 0.293658 0.278806]print y2[:36:6,1][0.355028 0.339511 0.324067 0.308763 0.293658 0.278806]得到的解与精确值相比,误差相当小。args是额外的参数。用法请参看下面的例子。这是一个洛仑兹曲线的求解,并且用matplotlib绘。

#python函数#scipy#微分方程#python

qrcode
访问手机版