有很多大学生问我,学习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()
输出结果如下:
上海首丰精密仪器三丰总代理,专业供应日本三丰系列产品,型号齐全,价格优惠,高品质100%;日本三丰(Mitutoyo)中国区域一级代理商.购买日本三丰首选上上海首丰精密仪器三丰总代理,;日本三丰(Mitutoyo)中国区域一级代理商. 日本原装的包装印字清晰,内包装袋采用...
点击进入详情页
本回答由
上海首丰精密仪器有限公司
提供