python里怎么样求解微分方程

 我来答
匿名用户
2018-01-19
展开全部

有很多大学生问我,学习python有什么用呢?我说:你至少可以用来解微分方程,如下面的例子,就是解决微分方程:
y"+a*y'+b*y=0 

代码如下:

[python] view plain copy

  • #y"+a*y'+b*y=0   

  • from scipy.integrate import odeint  

  • from pylab import *  

  • def deriv(y,t):        # 返回值是y和y的导数组成的数组  

  • a = -2.0  

  • b = -0.1  

  • return array([ y[1], a*y[0]+b*y[1] ])  

  • time = linspace(0.0,50.0,1000)  

  • yinit = array([0.0005,0.2])     # 初值  

  • y = odeint(deriv,yinit,time)  

  • figure()  

  • plot(time,y[:,0],label='y')    #y[:,0]即返回值的第一列,是y的值。label是为了显示legend用的。  

  • plot(time,y[:,1],label="y'")     #y[:,1]即返回值的第二列,是y’的值  

  • xlabel('t')  

  • ylabel('y')  

  • legend()  

  • show()  

  • 输出结果如下:


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式