预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

题目:用MATLAB进行控制系统的动态性能的分析 初始条件:已知三阶系统的闭环传递函数为 分析系统的动态性能。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 用MATLAB函数编程,求系统的动态性能指标。 设的根是系统的主导极点,编制程序,求系统的动态性能指标。 用MATLAB编制程序分析a=0.84,a=2.1,a=4.2系统的阶跃响应曲线,分析高阶系统忽略附加极点,近似为二阶系统的条件。 4、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB程序和MATLAB输出。说明书的格式按照教务处标准书写。 时间安排: 任务时间(天)审题、查阅相关资料1分析、计算1.5编写程序1撰写报告1论文答辩0.5 指导教师签名:年月日 系主任(或责任教师)签名:年月日 用MATLAB进行控制系统的动态性能的分析 1MATLAB函数编程 1.1传递函数的整理 已知三阶系统的闭环传递函数为: 整理成一般式可以得到: G(s)=, 其中a为未知参数。从一般式可以看出系统没有零点,有三个极点(其中一个实数极点和一对共轭复数极点)。 1.2动态性能指标的定义 上升时间:当系统的阶跃响应第一次达到稳态值的时间。上升时间是系统响应速度的一种度量。上升时间越短,响应速度越快。 峰值时间:系统阶跃响应达到最大值的时间。最大值一般都发生在阶跃响应的第一个峰值时间,所以又称为峰值时间。 调节时间:当系统的阶跃响应衰减到给定的误差带内,并且以后不再超出给定的误差带的时间。 超调量σp%:阶跃响应的最大值超过稳态值的百分数 σp%=×100% 或者不以百分数表示,则记为 σp= 超调量σp%反映了系统输出量在调节过程中与稳态值的最大偏差,是衡量系统性能的一个重要的指标。 在实际应用中,常用的动态性能指标多为上升时间、调节时间和超调量。通常,用或评价系统的响应速度;用σp%评价系统的阻尼程度;而是同时反映响应速度和阻尼程度的综合性能指标。应当指出,除简单的一、二阶系统外,要精确确定这些动态性能指标的解析表达式是很困难的。 1.3MATLAB函数编程求系统的动态性能 根据三阶系统闭环传递函数的一般表达式,在MATLAB的Editor中输入程序: num=[2.7a] den=[1,0.8+a,0.64+a,0.64a] t=0:0.01:20 step(num,den,t) [y,x,t]=step(num,den,t)%求单位阶跃响应 maxy=max(y)%响应的最大偏移量 yss=y(length(t))%响应的终值 pos=100*(maxy-yss)/yss%求超调量 fori=1:2001 ify(i)==maxy n=i;end end tp=(n-1)*0.01%求峰值时间 y1=1.05*yss y2=0.95*yss i=2001 whilei>0 i=i-1 ify(i)>=y1|y(i)<=y2;m=i; break end end ts=(m-1)*0.01%求调节时间 title('单位阶跃响应') grid 2三阶系统闭环主导极点及其动态性能分析 2.1三阶系统的近似分析 根据主导极点的概念,可知该三阶系统具有一对共轭复数主导极点=-0.40.693j,因此该三阶系统可近似成如下的二阶系统: G(s)≈ 再利用MATLAB的零极点绘图命令pzmap,可得该二阶系统的零、极点分布,在Editor里面编写如下程序: H=tf([2.7],[10.80.64]); grid pzmap(H); 得到零极点分布图2-1所示: 图2-1零极点分布图 2.2编程求解动态性能指标 根据以上求解动态性能的MATLAB函数程序,在编辑器里面编写以下程序,得到近似二阶系统的单位阶跃响应和动态性能指标。 num=[2.7] den=[1,0.8,0.64] t=0:0.01:20 step(num,den,t) [y,x,t]=step(num,den,t)%求单位阶跃响应 maxy=max(y)%响应的最大偏移量 yss=y(length(t))%响应的终值 pos=100*(maxy-yss)/yss%求超调量 fori=1:2001 ify(i)==maxy n=i;end end tp=(n-1)*0.01%求峰值时间 y1=1.05*yss y2=0.95*yss i=2001 whilei>0 i=i-1 ify(i)>=y1|y(i)<=y2; m=i; break end end ts=(m-1)*0.01%求调节时间 title('单位阶跃响应') grid 在Editor里面保存好程序,点击运行程序的命令图标。 MATLAB命令框输出:i=662 =6.6100 MATLAB输出的阶跃