北京科技大学控制实验报告3

上传人:日度 文档编号:145966053 上传时间:2020-09-25 格式:DOCX 页数:45 大小:813.79KB
返回 下载 相关 举报
北京科技大学控制实验报告3_第1页
第1页 / 共45页
北京科技大学控制实验报告3_第2页
第2页 / 共45页
北京科技大学控制实验报告3_第3页
第3页 / 共45页
北京科技大学控制实验报告3_第4页
第4页 / 共45页
北京科技大学控制实验报告3_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《北京科技大学控制实验报告3》由会员分享,可在线阅读,更多相关《北京科技大学控制实验报告3(45页珍藏版)》请在金锄头文库上搜索。

1、实验三 利用MATLAB进行时域分析一、实验目的(1) 学会使用MATLAB编程绘制控制系统的单位阶跃响应曲线;(2) 研究二阶控制系统中,x、wn对系统动态特性和时域指标的影响;(3) 掌握准确读取动态特性指标的方法;(4) 分析二阶系统闭环极点和闭环零点对系统动态性能的影响;(5) 研究三阶系统单位阶跃响应及其动态性能指标与其闭环极点的关系;(6) 研究闭环极点和闭环零点对高阶系统动态性能的影响;(7) 了解高阶系统中主导极点与偶极子的作用;(8) 了解系统阶跃响应、脉冲响应和斜坡响应输出曲线之间的联系与差别。二、实验原理及内容1. 求系统的特征根 若已知系统的特征多项式D (s),利用r

2、oots ( ) 函数可以求其特征根。若已知系统的传递函数,利用eig ( ) 函数可以直接求出系统的特征根。2、求系统的闭环根、和n 函数damp ( ) 可以计算出系统的闭环根、和wn。3、零极点分布图可利用pzmap()函数绘制连续系统的零、极点图,从而分析系统的稳定性,调用格式为:pzmap(num,den) 【范例3-1】给定传递函数: 利用下列命令可自动打开一个图形窗口,显示该系统的零、极点分布图,如图3- 所示。 num=3,2,5,4,6; den=1,3,4,2,7,2;pzmap(num,den)title(Pole-Zero Map)% 图形标题。图3- 1 MATLAB

3、函数零、极点分布图4、求系统的单位阶跃响应 step ( ) 函数可以计算连续系统单位阶跃响应(impulse( ) 函数可以计算连续系统单位脉冲响应): step (sys) 或step ( sys , t ) 或step (num , den)函数在当前图形窗口中直接绘制出系统的单位阶跃响应曲线,对象sys可以由tf ( ),zpk ( ) 函数中任何一个建立的系统模型。第二种格式中t可以指定一个仿真终止时间,也可以设置为一个时间矢量(如t0 : dt : Tfinal,即dt是步长,Tfinal是终止时刻)。如果需要将输出结果返回到MATLAB工作空间中,则采用以下调用格式: c=ste

4、p(sys) 此时,屏上不会显示响应曲线,必须利用plot()命令查看响应曲线。plot 可以根据两个或多个给定的向量绘制二维图形。【范例3-2】已知传递函数为:利用以下MATLAB命令可得阶跃响应曲线如图3- 所示。 num=0,0,25; den=1,4,25;step(num,den)grid % 绘制网格线。title(Unit-Step Response of G(s)=25/(s2+4s+25) ) % 图像标题图3- 2 MATLAB绘制的响应曲线还可以用下面的语句来得出阶跃响应曲线 G=tf(0,0,25,1,4,25); t=0:0.1:5; % 从0到5每隔0.1取一个值。

5、 c=step(G,t);% 动态响应的幅值赋给变量c plot(t,c) % 绘二维图形,横坐标取t,纵坐标取c。 Css=dcgain(G) % 求取稳态值。系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果 Css= 15、求阶跃响应的性能指标MATLAB提供了强大的绘图计算功能,可以用多种方法求取系统的动态响应指标。首先介绍一种最简单的方法游动鼠标法。对于例2,在程序运行完毕后,在曲线中空白区域,单击鼠标右键,在快捷菜单中选择”characteristics”,包含:Peak response (峰值); settling time (调节时间);Rise time(上升时间)

6、;steady state(稳态值);在相应位置出现相应点,用鼠标单击后,相应性能值就显示出来。用鼠标左键点击时域响应曲线任意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。这种方法简单易用,但同时应注意它不适用于用plot()命令画出的图形。【自我实践1】若已知单位负反馈前向通道的传递函数为:,试作出其单位阶跃响应曲线,准确读出其动态性能指标,并记录数据。另一种比较常用的方法就是用编程方式求取时域响应的各项性能指标。与游动鼠标法相比,编程方法稍微复杂,但可以获取一些较为复杂的性能指标。若将阶跃响应函数step( )获得系统输出量返回到变量y中,可以调用如下

7、格式 y,t=step(G) 该函数还同时返回了自动生成的时间变量t,对返回变量y和t进行计算,可以得到时域性能指标。 峰值时间(timetopeak)可由以下命令获得: Y,k=max(y);timetopeak=t(k) 最大(百分比)超调量(percentovershoot)可由以下命令得到:C=dcgain(G);Y,k=max(y); percentovershoot=100*(Y-C)/Cdcgain( )函数用于求取系统的终值。 上升时间(risetime)可利用MATLAB中控制语句编制M文件来获得。要求出上升时间,可以用while语句编写以下程序得到:C=dcgain(G);

8、n=1;while y(n)C n=n+1;endrisetime=t(n)在阶跃输入条件下,y 的值由零逐渐增大,当以上循环满足y=C时,退出循环,此时对应的时刻,即为上升时间。对于输出无超调的系统响应,上升时间定义为输出从稳态值的10%上升到90%所需时间,则计算程序如下:C=dcgain(G);n=1; while y(n)0.1*C n=n+1; endm=1; while y(n)0.98*C)&(y(i) G1=tf(0,0,100,1,5,0);G2=1;G=feedback(G1,G2) Transfer function: 100-s2 + 5 s + 100 num=0,0

9、,100; den=1,5,100; step(num,den) grid title(Unit-Step Response)上升时间:0.129s;峰值时间:1.42s;调节时间:1.41s;超调:42% 稳态值:1【范例3-3】已知二阶系统传递函数为:利用下面的stepanalysis.m程序可得到阶跃响应如图3-及性能指标数据。 G=zpk( ,-1+3*i,-1-3*i ,3); % 计算最大峰值时间和超调量。 C=dcgain(G) y,t=step(G);plot(t,y)gridY,k=max(y);timetopeak=t(k)percentovershoot=100*(Y-C

10、)/C% 计算上升时间。n=1;while y(n)0.98*C)&(y(i) num=100;i=0;for sigma = 0:0.25:1.25den = 1 2*sigma*10 100;damp(den)sys = tf(num,den);i=i+1;step(sys,2)hold onend Eigenvalue Damping Freq. (rad/s) 0.00e+000 + 1.00e+001i 0.00e+000 1.00e+001 0.00e+000 - 1.00e+001i 0.00e+000 1.00e+001 Eigenvalue Damping Freq. (rad/s) -2.50e+000 + 9.68e+000i 2.50e-001 1.00e+001 -2.50e+000 - 9.68e+000i 2.50e-001 1.00e+001 Eigenvalue Damping Freq. (rad/s) -5.00e+000 + 8.66e+000i 5.00e-001 1.00e+001 -5.00e+000 - 8.66e+000i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号