资源描述:
《系统动态特性分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、系统动态特性分析。(1)时域响应解析算法――部分分式展开法。用拉氏变换法求系统的单位阶跃响应,可直接得出输出c(t)随时间t变化的规律,对于高阶系统,输出的拉氏变换象函数为:(21)对函数c(s)进行部分分式展开,我们可以用num,[den,0]来表示c(s)的分子和分母。例15给定系统的传递函数:用以下命令对进行部分分式展开。>>num=[1,7,24,24]den=[1,10,35,50,24][r,p,k]=residue(num,[den,0])输出结果为r=p=k= -1.0000-4.0000[] 2.0000-3.0000
2、 -1.0000-2.0000-1.0000-1.0000 1.00000输出函数c(s)为:拉氏变换得:(2)单位阶跃响应的求法:控制系统工具箱中给出了一个函数step()来直接求取线性系统的阶跃响应,如果已知传递函数为:则该函数可有以下几种调用格式:step(num,den) (22)step(num,den,t) (23)或step(G) (24)step(G,t) (25)该函数将绘制出系统在单位阶跃输入条件下的动态响应图,同时给出稳态值。对于式23和25,t为图像显示的时间长度,是用户指定的时间向量。式22和24的显示时间由系统根
3、据输出曲线的形状自行设定。如果需要将输出结果返回到MATLAB工作空间中,则采用以下调用格式:c=step(G)(26)此时,屏上不会显示响应曲线,必须利用plot()命令去查看响应曲线。plot可以根据两个或多个给定的向量绘制二维图形,详细介绍可以查阅后面的章节。例16已知传递函数为: 利用以下MATLAB命令可得阶跃响应曲线如图14所示。图14MATLAB绘制的响应曲线>>num=[0,0,25]; den=[1,4,25];step(num,den)grid %绘制网格线。title(¹Unit-StepResponseofG(s)=25/(s^
4、2+4s+25)¹)%图像标题我们还可以用下面的语句来得出阶跃响应曲线>>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= 1(3)求阶跃响应的性能指标MATLAB提供了强大的绘图计算功能,可以用多种方法求取系统的动态响应指标。我们首先介绍一种最简单的方法――游动鼠标法。对于例16,在程
5、序运行完毕后,用鼠标左键点击时域响应图线任意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。按住鼠标左键在曲线上移动,可以找到曲线幅值最大的一点――即曲线最大峰值,此时小方框中显示的时间就是此二阶系统的峰值时间,根据观察到的稳态值和峰值可以计算出系统的超调量。系统的上升时间和稳态响应时间可以依此类推。这种方法简单易用,但同时应注意它不适用于用plot()命令画出的图形。另一种比较常用的方法就是用编程方式求取时域响应的各项性能指标。与上一段介绍的游动鼠标法相比,编程方法稍微复杂,但通过下面的学习,读者可以掌握一定的编程技
6、巧,能够将控制原理知识和编程方法相结合,自己编写一些程序,获取一些较为复杂的性能指标。通过前面的学习,我们已经可以用阶跃响应函数step()获得系统输出量,若将输出量返回到变量y中,可以调用如下格式[y,t]=step(G)(27)该函数还同时返回了自动生成的时间变量t,对返回的这一对变量y和t的值进行计算,可以得到时域性能指标。①峰值时间(timetopeak)可由以下命令获得:[Y,k]=max(y); (28)timetopeak=t(k) (29)应用取最大值函数max()求出y的峰值
7、及相应的时间,并存于变量Y和k中。然后在变量t中取出峰值时间,并将它赋给变量timetopeak。②最大(百分比)超调量(percentovershoot)可由以下命令得到:C=dcgain(G);[Y,k]=max(y);(30)percentovershoot=100*(Y-C)/C(31)dcgain()函数用于求取系统的终值,将终值赋给变量C,然后依据超调量的定义,由Y和C计算出百分比超调量。③上升时间(risetime)可利用MATLAB中控制语句编制M文件来获得。首先简单介绍一下循环语句while的使用。while循环语句的一般格式为:whi
8、le<循环判断语句>循环体end其中,循环判断语句为某种形式的逻辑判断表达式。当