博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ODEINT 求解常微分方程(4)
阅读量:4963 次
发布时间:2019-06-12

本文共 997 字,大约阅读时间需要 3 分钟。

import numpy as npfrom scipy.integrate import odeintimport matplotlib.pyplot as plt# function that returns dz/dtdef model(z,t,u):    x = z[0]    y = z[1]    dxdt = (-x + u)/2.0    dydt = (-y + x)/5.0    dzdt = [dxdt,dydt]    return dzdt# initial conditionz0 = [0,0]# number of time pointsn = 401# time pointst = np.linspace(0,40,n)# step inputu = np.zeros(n)# change to 2.0 at time = 5.0u[51:] = 2.0# store solutionx = np.empty_like(t)y = np.empty_like(t)# record initial conditionsx[0] = z0[0]y[0] = z0[1]# solve ODEfor i in range(1,n):    # span for next time step    tspan = [t[i-1],t[i]]    # solve for next step    z = odeint(model,z0,tspan,args=(u[i],))    # store solution for plotting    x[i] = z[1][0]    y[i] = z[1][1]    # next initial condition    z0 = z[1]# plot resultsplt.plot(t,u,'g:',label='u(t)')plt.plot(t,x,'b-',label='x(t)')plt.plot(t,y,'r--',label='y(t)')plt.ylabel('values')plt.xlabel('time')plt.legend(loc='best')plt.show()

转载于:https://www.cnblogs.com/conpi/p/11102730.html

你可能感兴趣的文章
PayPal(贝宝)支付接口、文档、IPN
查看>>
ORACLE 10G R2_执行计划中cost cardinality bytes cpu_cost io_cost解释
查看>>
本地存储
查看>>
MP3的播放与停止
查看>>
牛客(59)按之字形顺序打印二叉树
查看>>
JavaScript 图表库 xCharts
查看>>
Android项目的目录结构
查看>>
C++中“引用”的底层实现
查看>>
vuex中的dispatch和commit
查看>>
mybatis实战教程二:多对一关联查询(一对多)
查看>>
NodeMCU文档中文翻译 3 构建固件
查看>>
前端学习☞jquery
查看>>
10分钟搞懂树状数组
查看>>
Spring Cloud与微服务构建:微服务简介
查看>>
HTTP缓存和CDN缓存
查看>>
HDU-1171 Big Event in HDU(生成函数/背包dp)
查看>>
Babel 是干什么的
查看>>
cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
查看>>
Mysql数据库乱码总结
查看>>
BZOJ.3160.万径人踪灭(FFT Manacher)
查看>>