- 13
- 0
- 约3.94千字
- 约 5页
- 2017-08-09 发布于重庆
- 举报
系统动态特性分析.doc
系统动态特性分析。
(1) (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
-1.0000 -2.0000
-1.0000 -1.0000
1.0000 0
输出函数c(s)为:
拉氏变换得:
(2)
则该函数可有以下几种调用格式:
step(num,den) (22)
step(num,den,t) (23)
或
step(G) (24)
step(G,t) (25)
该函数将绘制出系统在单位阶跃输入条件下的动态响应图,同时给出稳态值。对于式23和25,t为图像显示的时间长度,是用户指定的时间向量。式22和24的显示时间由系统根据输出曲线的形状自行设定。
如果需要将输出结果返回到MATLAB工作空间中,则采用以下调用格式:
c=step(G) (26)
此时,屏上不会显示响应曲线,必须利用plot()命令去查看响应曲线。plot 可以根据两
个或多个给定的向量绘制二维图形,详细介绍可以查阅后面的章节。
例16 已知传递函数为:
利用以下MATLAB命令可得阶跃响应曲线如图14所示。
图14 MATLAB绘制的响应曲线
num=[0,0,25];
den=[1,4,25];
step(num,den)
grid % 绘制网格线。
title(1Unit-Step Response of G(s)=25/(s^2+4s+25) 1) % 图像标题
我们还可以用下面的语句来得出阶跃响应曲线
G=tf([0,0,25],[1,4,25]);
t=0:0.1:5; % 从0到5每隔0.1取一个值。
c=step(G,t); % 动态响应的幅值赋给变量c
plot(t,c) % 绘二维图形,横坐标取t,纵坐标取c。
Css=dcgain(G) % 求取稳态值。
系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果
Css=
1
(3)求阶跃响应的性能指标
MATLAB提供了强大的绘图计算功能,可以用多种方法求取系统的动态响应指标。我们首先介绍一种最简单的方法――游动鼠标法。对于例16,在程序运行完毕后,用鼠标左键点击时域响应图线任意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。按住鼠标左键在曲线上移动,可以找到曲线幅值最大的一点――即曲线最大峰值,此时小方框中显示的时间就是此二阶系统的峰值时间,根据观察到的稳态值和峰值可以计算出系统的超调量。系统的上升时间和稳态响应时间可以依此类推。这种方法简单易用,但同时应注意它不适用于用plot()命令画出的图形。
另一种比较常用的方法就是用编程方式求取时域响应的各项性能指标。与上一段介绍的游动鼠标法相比,编程方法稍微复杂,但通过下面的学习,读者可以掌握一定的编程技巧,能够将控制原理知识和编程方法相结合,自己编写一些程序,获取一些较为复杂的性能指标。
通过前面的学习,我们已经可以用阶跃响应函数step( )获得系统输出量,若将输出量返回到变量y中,可以调用如下格式
[y,t]=step(G)
原创力文档

文档评论(0)