资源描述:
《实验三利用matlab进行时域分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三利用MATLAB进行时域分析一、实验目的(1)学会使用MATLAB编程绘制控制系统的单位阶跃响应曲线;(2)研究二阶控制系统中,x、wn对系统动态特性和时域指标的影响;(3)掌握准确读取动态特性指标的方法;(4)分析二阶系统闭环极点和闭环零点对系统动态性能的影响;(5)研究三阶系统单位阶跃响应及其动态性能指标与其闭环极点的关系;(6)研究闭环极点和闭环零点对高阶系统动态性能的影响;(7)了解高阶系统中主导极点与偶极子的作用;(8)了解系统阶跃响应、脉冲响应和斜坡响应输出曲线之间的联系与差别。二、实验原理及内容1.求系统的特征根若已知系统的
2、特征多项式D(s),利用roots()函数可以求其特征根。若已知系统的传递函数,利用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(¹
3、Pole-ZeroMap¹) %图形标题。图3-1MATLAB函数零、极点分布图4、求系统的单位阶跃响应step()函数可以计算连续系统单位阶跃响应(impulse()函数可以计算连续系统单位脉冲响应):step(sys)或step(sys,t)或step(num,den)函数在当前图形窗口中直接绘制出系统的单位阶跃响应曲线,对象sys可以由tf(),zpk()函数中任何一个建立的系统模型。第二种格式中t可以指定一个仿真终止时间,也可以设置为一个时间矢量(如t=0:dt:Tfinal,即dt是步长,Tfinal是终止时刻)。如果需要将输出结果返
4、回到MATLAB工作空间中,则采用以下调用格式:c=step(sys)此时,屏上不会显示响应曲线,必须利用plot()命令查看响应曲线。plot可以根据两个或多个给定的向量绘制二维图形。【范例3-2】已知传递函数为:利用以下MATLAB命令可得阶跃响应曲线如图3-所示。>>num=[0,0,25]; den=[1,4,25];step(num,den)grid %绘制网格线。title(¹Unit-StepResponseofG(s)=25/(s^2+4s+25)¹)%图像标题图3-2MATLAB绘制的响应曲线还可以用下面的语句来得出阶跃响应
5、曲线>>G=tf([0,0,25],[1,4,25]);t=0:0.1:5; %从0到5每隔0.1取一个值。c=step(G,t); %动态响应的幅值赋给变量cplot(t,c) %绘二维图形,横坐标取t,纵坐标取c。Css=dcgain(G) %求取稳态值。系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果Css=15、求阶跃响应的性能指标MATLAB提供了强大的绘图计算功能,可以用多种方法求取系统的动态响应指标。首先介绍一种最简单的方法――游动鼠标法。对于例2,在程序运行完毕后,在曲线中空白区域,单击鼠标右键,在快捷菜单中选择”ch
6、aracteristics”,包含:Peakresponse(峰值);settlingtime(调节时间);Risetime(上升时间);steadystate(稳态值);在相应位置出现相应点,用鼠标单击后,相应性能值就显示出来。用鼠标左键点击时域响应曲线任意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。这种方法简单易用,但同时应注意它不适用于用plot()命令画出的图形。【自我实践1】若已知单位负反馈前向通道的传递函数为:,试作出其单位阶跃响应曲线,准确读出其动态性能指标,并记录数据。另一种比较常用的方法
7、就是用编程方式求取时域响应的各项性能指标。与游动鼠标法相比,编程方法稍微复杂,但可以获取一些较为复杂的性能指标。若将阶跃响应函数step()获得系统输出量返回到变量y中,可以调用如下格式[y,t]=step(G)该函数还同时返回了自动生成的时间变量t,对返回变量y和t进行计算,可以得到时域性能指标。①峰值时间(timetopeak)可由以下命令获得:[Y,k]=max(y);timetopeak=t(k)②最大(百分比)超调量(percentovershoot)可由以下命令得到:C=dcgain(G);[Y,k]=max(y);percento
8、vershoot=100*(Y-C)/Cdcgain()函数用于求取系统的终值。③上升时间(risetime)可利用MATLAB中控制语句编制M文件来