您的当前位置:首页正文

实验三:线性控制系统的MATLAB时域分析

2020-10-22 来源:爱站旅游
导读实验三:线性控制系统的MATLAB时域分析
实验三:线性控制系统的MATLAB时域分析

一、 实验目的

1、掌握如何使用Matlab进行系统的稳定性分析; 2、掌握如何使用Matlab进行系统的时域分析。 二、 实验目标

(1)、能够掌握线性系统稳定性的MATLAB判定方法; (2)、掌握MATLAB动态性能分析; (3)、掌握二阶系统的时域分析方法。 三、 实验内容

(一) 线性系统稳定性的MATLAB判定方法

C(s)s37s224s24传递函数G(s),利用MATLAB命令判断系统的稳定性。 R(s)s410s335s250s241、基础知识:

系统的稳定性,根据系统传递函数(s)极点的实部来进行判断:稳定——全为负,临界稳定——有一个为0,不稳定——有一个为负。

在MATLAB命令中,roots、tf2zp()、pzmap()指令可以用于判断系统的稳定性。 (1)直接求特征多项式的根

A、roots()可以直接求出传递函数的特征方程p=0在复数范围内的解x,该函数的调用格式为:x=roots(p) ,返回值为特征方程的根(即传递函数的极点)。

系统的特征方程式s410s335s250s240, 直接在MATLAB的命令窗口中输入: >> p=[1,10,35,50,24]; >> x=roots(p)

按回车键,在MATLAB命令窗口中观察运算结果,如右图所示,特征根的实部全部为负数,系统稳定。

B、利用tf2zp()命令可以将传递函数的一般形式转换成传递函数的零点、极点及增益。 直接在MATLAB的命令窗口中输入: >> num=[1,7,24,24]; den=[1,10,35,50,24]; [z,x,k]=tf2zp(num,den); x

按回车键,在MATLAB命令窗口中观察运算结果,如右图所示,特征根的实部全部为负数,系统稳定。

(2)零极点分布图

pzmap()函数绘制连续系统的零、极点(系统特征方程的根)图,从而分析系统的稳定性,该函数调用格式为:

pzmap(num,den)

在MATLAB的命令窗口中输入: >> num=[1,7,24,24]; den=[1,10,35,50,24]; pzmap(num,den)

按回车键,在MATLAB图形窗口得出零极点分布图,如右图所示,特征根的实部全部为负数,系统稳定。(备注:pzmap()函数默认情况下,极点用“×”

来表示,零点用“o”来表示。)

任务:试分别用roots、tf2zp()、pzmap()指令判断下列系统的稳定性。

2s24s5(1) 某系统的传递函数为G(s)4;

s7s32s26s67s32s24s5(2) 某系统的传递函数为G(s)4;

6s7s314s26s5613s34s9(3) 某系统的传递函数为G(s)4。

5s16s2s7(二) 掌握MATLAB动态性能分析;

任务:将因子形式传递函数G(s)10,在MATLAB中表示成多项式传递函数的

s22s20形式。

1、 基础知识

时域分析函数:

单位阶跃响应函数step; 单位脉冲响应函数impulse; 任意输入下的响应函数lsim。

I、阶跃响应

使用的函数:step(num,den) 或 step(num,den,t)

该函数将绘制出系统在单位阶跃输入条件下的动态响应图。t为图像显示的时间长度,是用户指定的时间向量,无t时由系统根据输出曲线的形状自行设定。

设某系统的传递函数: G(s)10,试画出该系统的单位阶跃响应

s2s202在MATLAB的命令窗口中输入: >> num=[10]; >> den=[1 2 20]; >> step(num,den);

>>title('G(s)=10/(s^2+2s+20)的单位阶跃响应')

按回车键,在MATLAB图形窗口得出系统的单位阶跃响应曲线。 练习内容:试画出该系统0~4s范围内的单位阶跃响应曲线。

II、单位脉冲响应:

使用的函数:impulse(num,den) 或impulse(num,den,t)

该函数将绘制出系统在单位脉冲输入条件下的动态响应图,同时给出稳态值。t为图像显示的时间长度,是用户指定的时间向量,无t时由系统根据输出曲线的形状自行设定。

设某系统的传递函数: G(s)10,试画出该系统的单位阶跃响应

s22s20在MATLAB的命令窗口中输入: >> num=[10]; >> den=[1 2 20];

>> impulse(num,den);

>>title(‘G(s)=10/(s^2+2s+20)的单位脉冲响应')

按回车键,在MATLAB图形窗口得出系统的单位脉冲响应曲线。 练习内容:试画出该系统0~10s范围内的单位脉冲响应曲线。 III、斜坡响应

方法:s除G(s),再利用阶跃响应命令。 设某系统的传递函数: G(s)G(s)10 3ss2s220s10,试画出该系统的单位斜坡响应。

s22s20在MATLAB的命令窗口中输入: >> num=[0 0 0 10]; >> den=[1 2 20 0]; >> t=0:0.1:7;

>> step(num,den,t)

按回车键,在MATLAB图形窗口得出系统的单位脉冲响应曲线。

10的单位抛物线响应。 2s2s20练习内容:1、画出传递函数G(s)C(s)s2s2、试画出某系统0~10s范围内的单位脉冲响应曲线。 32R(s)s5ss10IV、任意输入下的响应

使用的函数;lsim(G,u,t),可对任意输入的连续系统进行仿真。

例 某系统的传递函数为G(s)5s100,输入为u=1+exp(-t).*cos(5*t) ,

s2s16s218s1843则当系统的初始条件为零时,请求出其时域响应。

在MATLAB的命令窗口中输入: >> num=[5 100];

>> den=[1 2 16 18 18]; >> G=tf(num, den); >> t=0:0.04:4;

>> u=1+exp(-t).*cos(5*t); >> Y=lsim(G,u,t); >> plot(t,Y,'o',t,u,'-') >> grid

>>title('G(s)=(5s+100)/(s^4+s^3+16^2+18s+18)的响应曲线') >> xlabel('t(秒)')

>> ylabel('输入和输出')

按回车键,在MATLAB图形窗口得出系统的输入和输出响应。

10在输入为u=1+exp(-t).*sin(5*t) ,时间为

s22s20练习内容:1、画出传递函数G(s)0~10s范围内的输出响应。

C(s)s2s2、 试画出某系统在输入为u=1+exp(-t).*sin(5*t) ,时间为R(s)s35s2s100~10s范围内的输出响应。

(三) 阶跃响应的性能指标

任务:传递函数G(s)10的单位阶跃响应的性能指标(上升时间、峰值时间、

s22s20超调量、调节时间)。

1、基础知识:

响应曲线显示后,用鼠标左键点击时域响应图线任意一点,此点显示为“■”,同时系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。按住鼠标左键在曲线上移动,可以找到曲线幅值最大的一点――即曲线最大峰值,此时小方框中显示的时间就是此系统的峰值时间,根据观察到的稳态值和峰值可以计算出系统的超调量。系统的上升时间和稳态响应时间可以依此类推。

应注意它不适用于用plot()命令画出的图形。 在MATLAB的命令窗口中输入: >> num=[10]; >> den=[1 2 20]; >> step(num,den);

>>title('G(s)=10/(s^2+2s+20)的单位阶跃响应')

按回车键,在MATLAB图形窗口中得到系统的阶跃响应。

将鼠标在阶跃响应曲线上移动,可得出系统的阶跃响应动态性能:

(1)上升时间tr=0.413s ,(2) 峰值时间t p=0.714s,(3) 超调量σ%=48.6%,(4) 调节时间t s=3.77s(2%误差)

练习内容:1、某系统G(s)4.5在单位阶跃响应的动态指标。

s2s10

因篇幅问题不能全部显示,请点此查看更多更全内容