MATLAB实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《MATLAB/Simulink与控制系统仿真》实验报告
专业:
班级:
学号:
姓名:
指导教师:
实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立
一、实验目的
1、掌握MATLAB/Simulink 仿真的基本知识;
2、熟练应用MATLAB 软件建立控制系统模型。 二、实验设备
电脑一台;MATLAB 仿真软件一个 三、实验内容
1、熟悉MATLAB/Smulink 仿真软件。
2、一个单位负反馈二阶系统,其开环传递函数为2
10()3G s s s
=
+。用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
图 1系统结构图
图 2示波器输出结果图
3、某控制系统的传递函数为
()()()1()Y s G s X s G s =+,其中2
50()23s G s s s
+=+。用Simulink 建
立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MA TLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
图 3系统结构图 图 4 示波器输出结果图
图 5 工作空间中仿真结果图形化输出
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为
3
20.520()0.11220s G s s s s s
+=+++,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
图 6 系统结构图
图 7 示波器输出结果
实验2 MATLAB/Simulink 在控制系统建模中的应用
一、实验目的
1、掌握MATLAB/Simulink 在控制系统建模中的应用; 二、实验设备
电脑一台;MA TLAB 仿真软件一个 三、实验内容
1、给定RLC 网络如图所示。其中,为输入变量,为输出变量。求解这个系统的传递函数模型,零极点增益模型以及状态空间模型(假设,,,
)。
传递函数模型2
21
)(2
++=
s s s G 程序代码如下:
clear all ; %清除工作空间的变量 num=[0,1]; %定义分子多项式 den=[1 2 2]; %定义分母多项式 sy_tf=tf(num,den); %建立传递函数模型
[z,p,k]=tf2zp(num,den) %从传递函数模型获取系统的零极点增益 sy_zpk=zpk(z,p,k); %建立系统的零极点增益模型
[A,B,C,D]=zp2ss(z,p,k); %从零极点增益模型获取系统的状态空间模型 sys_ss=ss(A,B,C,D) %建立系统的状态空间模型 step(sy_tf) %求解系统的阶跃响应 grid on ; %添加栅格
程序运行结果
z =Empty matrix: 0-by-1 p =-1.0000 + 1.0000i -1.0000 - 1.0000i k =1
a = x1 x2
x1 -2 -1.414 x2 1.414 0 b = u1
()i u t 0()u t 11R =Ω21R =Ω1C F =1L H
=
x1 1
x2 0
c = x1 x2
y1 0 0.7071
d = u1
y1 0
Continuous-time model.
图 8 系统的阶跃响应曲线
2、已知某双环调速的电流环系统的结构图如图所示。试采用Simulink动态结构图求其线性模型。
图 9simulink中的系统动态模型
将图2模型存为“Samples_4_14.mdl”文件
在MA TLAB命令窗口运行以下命令,得到一个线性状态空间模型(A,B,C,D)。
[A,B,C,D]=linmod('Samples_4_14'); %提取simulink模型的状态空间模型
输出结果如下
A =1.0e+003 *
-0.0781 0 0 0 1.7964
0 -0.5000 0 0 0
0.0141 0 -0.5000 0 0
0 0.5000 -0.5000 0 0
0 0.1600 -0.1600 0.0250 -0.0599
B =0
1
C = 195.3125 0 0 0 0
D = 0
在MA TLAB命令窗口运行以下命令
[num,den]=ss2tf(A,B,C,D); %将状态空间模型转换为传递函数模型
pritfsys(num,den,'s'); %以传递函数模型形式显示出来
输出结果:
num/den = 4.5475e-013 s^4 + 5.8208e-011 s^3 + 56137724.5509 s^2 + 32454622005.9881 s + 2192879865269.464
-----------------------------------------------------------------------------
s^5 + 1138.0052 s^4 + 392683.3832 s^3 + 43221369.7605 s^2 + 3506268712.5749 s
+ 157887350299.4013