課程名称:控制理论指导老师:成绩:__________________
试验名称:控制系统的時域分析试验类型:________________同组学生姓名:__________
一、试验目的和规定
1.用计算机辅助分析的措施,掌握系统的時域分析措施。
2.熟悉Simulink仿真环境。
二、试验内容和原理
(一)试验原理
系统仿真实质上就是对系统模型的求解,对控制系统来說,一般模型可转化成某个微分方程或差分方程表达,因此在仿真过程中,一般以某种数值算法从初态出发,逐渐计算系统的响应,最终绘制出系统的响应曲线,进而可分析系统的性能。控制系统最常用的時域分析措施是,当输入信号為单位阶跃和单位冲激函数時,求出系统的输出响应,分别称為单位阶跃响应和单位冲激响应。在MATLAB中,提供了求取持续系统的单位阶跃响应函数step,单位冲激响应函数impulse,零输入响应函数initial等等。
(二)试验内容
二阶系统,其状态方程模型為
-0.5572-0.78141
=+u
0.781400
y=[1.96916.4493]+[0]u
1.画出系统的单位阶跃响应曲线;
2.画出系统的冲激响应曲线;
3.当系统的初始状态為x0=[1,0]時,画出系统的零输入响应;
4.当系统的初始状态為零時,画出系统斜坡输入响应;
(三)试验规定
1.编制MATLAB程序,画出单位阶跃响应曲线、冲击响应曲线、系统的零输入响应、斜坡输入响应;
2.在Simulink仿真环境中,构成系统的仿真框图,观测单位阶跃响应曲线并记录之。
三、重要仪器设备
计算机一台以及matlab软件,simulink仿真环境
四、操作措施与试验环节
1、程序处理方案:
在MATLAB中建立文献shiyu.m,其程序如下:
%時域响应函数
functionG1=shiyu(A,B,C,D)
G=ss(A,B,C,D);
G1=tf(G);%将状态空间模型转换為传递函数
figure;step(G1);%画阶跃响应曲线
gridon;
title(系统单位阶跃响应);
xlabel(t/s);ylabel(c(t));
figure;impulse(G1);%画冲激响应
title(系统冲激响应);
xlabel(t/s);ylabel(c(t));
gridon;
x0=[10];
figure;initial(G,x0);%画零输入响应
title(x0=[1,0]時的零输入响应);
xlabel(t/s);ylabel(c(t));
gridon;
%斜坡响应
s=tf(s)
G2=G1/s^2;
figure;impulse(G2,10);
title(斜坡输入响应);
xlabel(t/s);ylabel(c(t));
gridon;
end
在MATLAB命令窗口中输入下列命令:并返回系统的传递函数
clear
A=[-0.5572,-0.7814;0.7814,0];
B=[10];
C=[1.96916.4493];
D=[0];
G1=shiyu(A,B,C,D)
Transferfunction:
1.969s+5.039
-----------------------
s^2+0.5572s+0.6106
其输出的曲线如下
2、Simulink仿真环境实現方式
在simulink中建立如下模型:
其中,state-space模块设置如下图:
点击运行,得到如下所示的波形:
五、讨论、心得
通过本次MATLAB试验,我掌握了运用MATLAB工具分析控制理论中某些時域的问題。整个问題并不是很难。在编写程序時,选择了编写一种function的.m文献,同步返回了系统的传递函数并输出了所需要的四幅图像。这样的措施具有通用性,当ABCD四个矩阵发生变化時不需要重新写程序,直接调用该函数既可实現功能。这是出于程序的通用性方面的考虑。在编写程序的过程中,熟悉了某些時域分析MATLAB函数的调用方式。有关simulink模块的实現,在之前试验的仿真就已经用过。只不过之前图像的做法是输出数组,在命令窗口中调用plot函数画出来,这重要是由于示波器的图像背景是黑颜色的,不以便打印。通过查资料,本次试验我处理了这个问題。方式如下:
在出現示波器的图像后,在命令