python控制系统仿真库control(一)伯德图.pdf

python控制系统仿真库control(一)伯德图.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

python控制系统仿真库control(⼀)伯德图

1、安装

我使⽤的是pycharm,因此直接搜索control安装即可。注意,最好已经事先安装了scipy,numpy以及matplotlib这⼏个库以备不时之需。

2、⽂档地址

3、使⽤例⼦

1、创建控制系统:

importcontrolasctrl

sysTf=ctrl.tf([1],[1,2,1])

sysTf为由传递函数定义的系统。但是按照⽂档说明,这个库还⽀持⽤状态空间定义的系统。不过,作为⼀个⾃控的初学者,⽬前只⽤得到

传递函数。

这个传递函数定义了⼀个振荡环节,相当于:

1

2

G(s)=()+2s+1

ωω

nn

很多课本上都有这个环节的伯德图。若要画出这个图,则需要这么做:

importcontrolasctrl

importmatplotlib.pyplotasplt

importnumpyasnp

psiList=[0.05,0.2,0.5,0.707,1.0]

sysTfList=[]

forpsiinpsiList:

sysTfList.append(ctrl.tf([1],[1,2*psi,1]))

mag,phase,omega=ctrl.bode(sysTfList,omega=np.logspace(start=-1,stop=1,num=200),dB=True,deg=False)

plt.show()

当然,图⽚还是有美中不⾜的地⽅:缺少图例。

4、适当修改源码中的⼀些部分

以下是我修改过的freqplot.py,在pycharm中按下ctrl+B追踪control.bode_plot()这个⽅法即可找到这个⽂件。

主要修改是增加了bode()的参数表,⽐原来的代码增加了⼀个legend变量,传⼊⼀个与sysList等长度的字符串列表作为图例的⽂字。

原理是新建了⼀个名为lineList的列表,保存循环中sysList的每⼀项所绘出的线条对象。

⽬前仅修改了margins!=True情况时绘出的图形,因此在伯德图中可以显⽰图例。⽤法如下:

importcontrolasctrl

importmatplotlib.pyplotasplt

importmath

importnumpyasnp

psiList=[0.05,0.2,0.5,0.707,1.0]

sysTfList=[]

forpsiinpsiList:

sysTfList.append(ctrl.tf([1],[1,2*psi,1]))

mag,phase,omega=ctrl.bode(sysTfList,omega=np.logspace(start=-1,stop=1,num=200),dB=True,deg=False,

legends=[0.05,0.2,0.5,0.707,1.0])

plt.show()

——————————————————————————————————————

⽣成的图⽚如下:

以下是源代码:

#freqplot.py-frequencydomainplotsforcontrolsystems

#

#Author:RichardM.Murray

#Date:24May09

#

#Thisfilecontainssomestandardcontrolsystemplots:Bodeplots,

#Nyquistplotsandpole-zerodiagrams.ThecodeforNicholscharts

#isinnichols.py.

#

#Copyright(c)2010byCaliforniaInstituteofTechnology

#Allrightsreserved.

#

#Redistributionanduseinsourceandbinaryforms,withorwithout

#modification,arepermit

文档评论(0)

162****6581 + 关注
实名认证
内容提供者

一线教师,长期在一线从事教学工作。

1亿VIP精品文档

相关文档