控制系统的时域分析实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称: 控制理论 指导老师: 成绩:__________________ 实验名称: 控制系统的时域分析 实验类型:________________同组学生姓名:__________

一、实验目的和要求

1.用计算机辅助分析的办法,掌握系统的时域分析方法。

2.熟悉Simulink 仿真环境。

二、实验内容和原理

(一)实验原理

系统仿真实质上就是对系统模型的求解,对控制系统来说,一般模型可转化成某个微分方程或差分方程表示,因此在仿真过程中,一般以某种数值算法从初态出发,逐步计算系统的响应,最后绘制出系统的响应曲线,进而可分析系统的性能。控制系统最常用的时域分析方法是,当输入信号为单位阶跃和单位冲激函数时,求出系统的输出响应,分别称为单位阶跃响应和单位冲激响应。在MA TLAB 中,提供了求取连续系统的单位阶跃响应函数step ,单位冲激响应函数impulse ,零输入响应函数initial 等等。

(二)实验内容

二阶系统,其状态方程模型为

•1x -0.5572 -0.7814 1x 1

= + u

•2x 0.7814 0 2x 0

1x

y = [1.9691 6.4493] +[0] u

2x

1.画出系统的单位阶跃响应曲线;

2.画出系统的冲激响应曲线;

3.当系统的初始状态为x0=[1,0]时,画出系统的零输入响应;

4.当系统的初始状态为零时,画出系统斜坡输入响应;

(三)实验要求

1.编制MA TLAB 程序,画出单位阶跃响应曲线、冲击响应曲线、系统的零输入响应、斜坡输入响应;

2.在Simulink 仿真环境中,组成系统的仿真框图,观察单位阶跃响应曲线并记录之。

三、主要仪器设备

计算机一台以及matlab 软件,simulink 仿真环境

四、操作方法与实验步骤

1、程序解决方案:

G=ss(A,B,C,D);

G1=tf(G);%将状态空间模型转换为传递函数

figure;step(G1);%画阶跃响应曲线

grid on;

title('系统单位阶跃响应');

xlabel('t/s');ylabel('c(t)');

figure;impulse(G1);%画冲激响应

title('系统冲激响应');

xlabel('t/s');ylabel('c(t)');

grid on;

x0=[1 0];

figure;initial(G,x0);%画零输入响应

title('x0=[1,0]时的零输入响应');

xlabel('t/s');ylabel('c(t)');

grid on;

%斜坡响应

s=tf('s')

G2=G1/s^2;

figure;impulse(G2,10);

title('斜坡输入响应');

xlabel('t/s');ylabel('c(t)');

grid on;

end

在MATLAB命令窗口中输入下列命令:并返回系统的传递函数

>> clear

>> A=[-0.5572,-0.7814;0.7814,0];

>> B=[1 0]';

>> C=[1.9691 6.4493];

>> D=[0];

>> G1=shiyu(A,B,C,D)

Transfer function:

1.969 s + 5.039

-----------------------

s^2 + 0.5572 s + 0.6106

其输出的曲线如下

2、Simulink仿真环境实现方式

在simulink中建立以下模型:

其中,state-space模块设置如下图:

点击运行,得到如下所示的波形:

五、讨论、心得

通过此次MATLAB实验,我掌握了利用MATLAB工具分析控制理论中一些时域的问题。整个问题并不是很难。在编写程序时,选择了编写一个function的.m文件,同时返回了系统的传递函数并输出了所需要的四幅图像。这样的方法具有通用性,当ABCD四个矩阵发生变化时不需要重新写程序,直接调用该函

数即可实现功能。这是出于程序的通用性方面的考虑。在编写程序的过程中,熟悉了一些时域分析MATLAB 函数的调用方式。关于simulink模块的实现,在之前实验的仿真就已经用过。只不过之前图像的做法是输出数组,在命令窗口中调用plot函数画出来,这主要是因为示波器的图像背景是黑颜色的,不方便打印。通过查资料,此次实验我解决了这个问题。方式如下:

在出现示波器的图像后,在命令窗口中输入如下命令

>> set(0,'ShowHiddenHandles','On')

>> set(gcf,'menubar','figure');

然后在示波器图像上把需要修改的颜色进行修改即可。

总的来说,本实验内容不难,只是需要对软件有一定的熟悉度。因此本实验所花费的大多数时间也是在不断熟悉里面的函数命令,同时也感觉到了MATLAB的强大,许多的东西只需要借助计算机就可以得到结果。

相关文档
最新文档