《MATLAB与控制系统仿真》自动化实验指导书.docx
- 文档编号:4152714
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:18
- 大小:438.89KB
《MATLAB与控制系统仿真》自动化实验指导书.docx
《《MATLAB与控制系统仿真》自动化实验指导书.docx》由会员分享,可在线阅读,更多相关《《MATLAB与控制系统仿真》自动化实验指导书.docx(18页珍藏版)》请在冰豆网上搜索。
《MATLAB与控制系统仿真》自动化实验指导书
《MATLAB与控制系统仿真》
实验指导书
吉林化工学院信息与控制工程学院自动化专业
目录
实验一MATLAB环境的熟悉与基本运算
(一)
实验二MATLAB环境的熟悉与基本运算
(二)
实验三MATLAB语言的程序设计
实验四MATLAB的图形绘制
实验五基于SIMULINK的系统仿真
实验六控制系统的频域与时域分析
实验七控制系统PID校正器设计法
实验八线性方程组求解及函数求极值
实验一MATLAB环境的熟悉与基本运算
(一)
一、实验目的:
1.熟悉MATLAB开发环境
2.掌握矩阵、变量、表达式的各种基本运算
二、实验基本知识:
1.熟悉MATLAB环境:
MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令
表1MATLAB常用命令
clc
清除命令窗口中内容
clear
清除工作空间中变量
help
对所选函数的功能、调用格式及相关函数给出说明
lookfor
查找具有某种功能的函数但却不知道该函数的准确名称
3.MATLAB变量与运算符
3.1变量命名规则
3.2MATLAB的各种常用运算符
表2MATLAB算术运算符
操作符
功能说明
操作符
功能说明
+
加
\
矩阵左除
-
减
.\
数组左除
*
矩阵乘
/
矩阵右除
.*
数组乘
./
数组右除
^
矩阵乘方
'
矩阵转置
.^
数组乘方
.'
数组转置
表3MATLAB关系运算符
操作符
功能说明
==
等于
~=
不等于
>
大于
<
小于
>=
大于等于
<=
小于等于
表4MATLAB逻辑运算符
逻辑运算符
逻辑运算
说明
&
And
逻辑与
|
Or
逻辑或
~
Not
逻辑非
Xor
逻辑异或
表5MATLAB特殊运算
符号
功能说明示例
符号
功能说明示例
:
1:
1:
4;1:
2:
11
.
;
分隔行
..
,
分隔列
…
()
%
注释
[]
构成向量、矩阵
!
调用操作系统命令
{}
构成单元数组
=
用于赋值
4.MATLAB的一维、二维数组的寻访
表6子数组访问与赋值常用的相关指令格式
三、实验内容
1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符)
2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3、学习使用help命令。
4、窗口命令
●close
●closeall
●clc
●holdon
●holdoff
了解其功能和作用,观察commandwindow、commandhistory和workspace等窗口的变化结果。
5、工作空间管理命令
●who
●whos
●clear
6、随机生成一个2×6的矩阵,观察commandwindow、commandhistory和workspace等窗口的变化结果,实现矩阵左旋90°或右旋90°的功能。
7、求高阶方程的的根,求高阶多项式的值。
8、创建一个二维数组A(4×8)。
查询数组A第2行、第3列的元素;查询数组A第2行的所有元素;查询数组A第6列的所有元素;查询数组A按列拉长形成新的数组B;查询数组A按行拉长形成新的数组C。
四、实验报告要求
1.列出实验命令及实验结果。
2.写出实验体会。
实验二MATLAB环境的熟悉与基本运算
(二)
一、实验目的:
1.熟悉MATLAB开发环境
2.掌握矩阵、变量、表达式的各种基本运算
二、实验基本知识:
1.MATLAB的基本运算
表1两种运算指令形式和实质内涵的异同表
2.MATLAB的常用函数
三、实验内容
1、设有3个二维数组A(2×4),B(2×4),C(2×2),参照表1写出所有由2个数组参与的合法的数组运算和矩阵指令及结果。
2、学习使用表2列出的常用函数。
3、学习使用表3列出的数组操作函数。
4、生成下列矩阵,并取出方框内的数组元素
四、实验报告要求
1.列出实验命令及实验结果。
2.写出实验体会。
实验三MATLAB语言的程序设计
一、实验目的:
1、熟悉MATLAB程序编辑与设计环境
2、掌握各种编程语句语法规则及程序设计方法
3、函数文件的编写和设计
4、了解和熟悉跨空间变量传递和赋值
二、实验基本知识:
1、程序流程控制语句
for循环结构
语法:
fori=初值:
增量:
终值
语句1
……
语句n
end
说明:
1.i=初值:
终值,则增量为1。
2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。
while循环结构
语法:
while逻辑表达式
循环体语句
end
说明:
1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。
若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。
若表达式的值为假,则程序执行end之后的语句。
2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。
(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。
)
3、while循环也可以嵌套、其结构如下:
while逻辑表达式1
循环体语句1
while逻辑表达式2
循环体语句2
end
循环体语句3
end
if-else-end分支结构
if表达式1
语句1
elseif表达式2(可选)
语句2
else(可选)
语句3
end
end
说明:
1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。
2.elseif表达式2与else为可选项,这两条语句可依据具体情况取舍。
3.注意:
每一个if都对应一个end,即有几个if,记就应有几个end。
switch-case结构
语法:
switch表达式
case常量表达式1
语句组1
case常量表达式2
语句组2
……
otherwise
语句组n
end
说明:
1.switch后面的表达式可以是任何类型,如数字、字符串等。
2.当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。
程序流程控制指令
break、return、pause
2、函数文件的结构和编写方法
函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。
M函数文件的结构
(1)函数定义行(function)
(2)H1行(函数帮助文本的第一行)
(3)函数帮助文本
(4)函数体
(5)注释
函数文件编写后,保存时,其文件名必须与函数名相同。
注意:
函数名不要与MATLAB自身的函数命令相同。
三、实验内容:
练习A
1、熟悉MATLAB程序编辑与设计环境
2、用for循环语句实现求1~100的和
3、用for循环语句实现编写一个求阶乘n!
的函数文件
4、判断y向量的元素属于3n3n+1或3n+2,设y=[3,5,7,9,11,16]。
(使用函数rem求余数)。
5、已知数组A=[2,4,6,8,10],B=[4,9,6,7,4],求
其中n=5。
四、实验报告要求
1.列出实验程序代码及实验结果。
2.写出实验体会。
实验四MATLAB的图形绘制
一、实验目的:
1、学习MATLAB图形绘制的基本方法;
2、熟悉和了解MATLAB图形绘制程序编辑的基本指令;
3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注;
4、掌握plot、subplot的指令格式和语法。
二、实验基本知识:
1、基本的绘图命令plot(x,y,)
2、建立图形窗口命令figure
(1);figure
(2);…;figure(n)打开不同的图形窗口,以便绘制不同的图形。
3、gridon:
在所画出的图形坐标中加入栅格
gridoff:
除去图形坐标中的栅格。
4、holdon:
把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。
holdoff:
使新图覆盖旧的图形。
5、axis设定轴的范围
axis([xminxmaxyminymax])设定x轴与y轴的最大、最小坐标。
axis(‘equal’):
将x坐标轴和y坐标轴的单位刻度大小调整为一样。
6、文字标示
●text(x,y,’字符串’)
在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。
●gtext(‘字符串’)
利用鼠标在图形的任意位置标示字符串。
●title(‘字符串’)
在所画图形的最上端显示说明该图形标题的字符串。
●xlabel(‘字符串’),ylabel(‘字符串’)
设置x,y坐标轴的名称。
●输入特殊的文字需要用反斜杠(\)开头
7、subplot(m,n,k):
分割图形显示窗口,在同一个窗口中显示多个图形。
●m:
上下分割个数
●n:
左右分割个数
●k:
:
子图编号
8、semilogx:
绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。
semilogy:
绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图形。
三、实验内容
1、绘制下列曲线,要求尽可能多地使用二中所列命令。
①
②
③
y=sin(t)sin(9t)
2、绘制二阶系统阶跃响应,综合演示图形标识。
clf;t=6*pi*(0:
100)/100;y=1-exp(-0.3*t).*cos(0.7*t);
tt=t(find(abs(y-1)>0.05));ts=max(tt);
plot(t,y,'r-','LineWidth',3)
axis([-inf,6*pi,0.6,inf])
set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)])
gridon
title('\ity=1-e^{-\alphat}cos{\omegat}')
text(13.5,1.2,'\fontsize{12}{\alpha}=0.3')
text(13.5,1.1,'\fontsize{12}{\omega}=0.7')
holdon;plot(ts,0.95,'bo','MarkerSize',10);holdoff
cell_string{1}='\fontsize{12}\uparrow';
cell_string{2}='\fontsize{16}\fontname{隶书}镇定时间';
cell_string{3}='\fontsize{6}';
cell_string{4}=['\fontsize{14}\rmt_{s}='num2str(ts)];
text(ts,0.85,cell_string)
xlabel('\fontsize{14}\bft\rightarrow')
ylabel('\fontsize{14}\bfy\rightarrow')
四、实验报告要求
1.列出实验程序(命令)代码及实验结果。
2.写出实验体会。
实验五基于SIMULINK的系统仿真
一、实验目的:
1、熟悉SIMULINK工作环境及特点
2、掌握线性系统仿真常用基本模块的用法
3、掌握SIMULINK的建模与仿真方法
4、子系统的创建和封装设计
二、实验基本知识:
1、了解SIMULINK模块库中各子模块基本功能
2、SIMULINK的建模与仿真方法
(1)打开模块库,找出相应的模块。
鼠标左键点击相应模块,拖拽到模型窗口中即可。
(2)创建子系统:
当模型大而复杂时,可创建子系统。
(3)设置仿真控制参数。
三、实验内容
1、SIMULINK仿真实际应用
(1)双环调速的电流环系统的方框图模型为:
图中参数设为Ks=44;Ts=0.00167;Ta=0.017;R=1;Tm=0.075;Ce=0.1925;Kt=0.01178;T1=0.049;T2=0.088
(1)在Simulink集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信号,0.3秒后在扰动信号点输入单位阶跃响应信号。
并绘制相应的响应曲线
(2)计算仿真结果的超调量、上升时间、调节时间、稳态误差。
(3)设计PID调节器替代图中的比例积分调节器,调节Kp,Ti,Td,用使系统满足超调量15%,上升时间0.3s,调节时间0.4s的要求。
(4)要求对加入的PID控制器封装成一个模块使用。
2、用Simulink对以下系统进行仿真
其中
为系统输入,y(t)为系统输出,仿真当输入为正弦信号时,输出的信号的波形,仿真时间0<=0t<=100。
3、在滑艇的运行过程中,滑艇主要受到如下作用力的控制:
滑艇自身的牵引力F,滑艇受到的水的阻力f。
其中水的阻力
,u为滑艇的运动速度。
由运动学的相关定理可知,整个滑艇系统的动力学方程为:
其中,m为滑艇的质量。
假设滑艇的质量为1000kg,建立此系统的Simulink模型并进行分析。
四、实验报告要求
1.列出实验程序(命令、图形)代码及实验结果。
2.写出实验体会。
实验六控制系统的频域与时域分析
一、实验目的:
1、掌握控制系统数学模型的基本描述方法和相互转化
2、了解控制系统的稳定性分析方法
3、掌握控制系统频域与时域分析基本方法
二、实验基本知识:
1、系统数学模型的几种表示方法
2、在MATLAB工具箱中,提供了子系统的连接处理函数:
1)series()函数:
系统串联实现。
2)parallel()函数:
系统并联实现。
3)feedback()函数:
系统反馈连接。
3、控制系统根轨迹绘制
1)rlocfind():
计算给定根的根轨迹增益
2)rlocus()函数:
功能为求系统根轨迹。
4、控制系统频域分析基本方法
1)Bode图:
bode()函数
2)Nyquist图:
nyquist()函数
3)稳定裕度计算:
margin()函数
5、线性系统时间响应分析
1)step()函数---求系统阶跃响应
2)impulse()函数:
求取系统的脉冲响应
3)lsim()函数:
求系统的任意输入下的仿真
三、实验内容
1、表示下列传递函数模型,并转化成其他的数学模型
2、一个单位负反馈开环传递函数为
试绘出系统闭环的根轨迹图;并在跟轨迹图上任选一点,试计算该点的增益K及其所有极点的位置。
3、求下面系统在阶跃信号为0.11(t)时系统的响应。
并求系统性能指标:
稳态值、上升时间、调节时间、超调量。
四、实验报告要求
1.列出实验程序(命令、图形)代码及实验结果。
2.写出实验体会。
实验七控制系统PID校正器设计法
一、实验目的
1、熟悉常规PID控制器的设计方法
2、掌握PID参数的调节规律
3、学习编写程序求系统的动态性能指标
二、实验基本知识:
1.模拟PID控制器
典型的PID控制结构如图1所示。
`
图1典型PID控制结构
PID调节器的数学描述为
2数字PID控制器
在计算机PID控制中,连续PID控制算法不能直接使用,需要采用离散化方法,通常使用数字PID控制器。
以一系列采样时刻点kT(T为采样周期)代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:
离散PID表达式:
三、实验内容
1、在SIMULINK窗口建立如下模型
2、设计PID控制器,传递函数模型如下
3、修改PID参数Kp、Ti和Td,讨论参数对系统的影响。
4、根据PID参数Kp、Ti和Td对系统的影响,调节PID参数实现系统的超调量小于10%。
参数
Kp
Ti
Td
数值
5、通过程序求得系统的超调量、上升时间和调节时间(误差带选为5%)。
6、将输入信号设为
,调节PID控制器参数,绘制正弦跟踪曲线。
四、实验报告要求
1.列出实验程序(命令、图形)代码及实验结果。
2.写出实验体会。
实验八线性方程组求解及函数求极值
一、实验目的
1、理解线性方程组求解方法
2、理解函数求极值方法
3、通过练习以下内容熟悉求解线性方程组的方法和函数求极值的方法
二、实验说明
1.自主编写程序,必要时参考相关资料
2.实验前应写出程序大致框架或完整的程序代码
5.实验学时:
2学时
三、实验内容
1、求下列方程组的解
1)
2)
2、求下列函数在指定区间的最大值
1)
2)
四、实验报告要求
1.列出实验程序(命令、图形)代码及实验结果。
2.写出实验体会。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB与控制系统仿真 MATLAB 控制系统 仿真 自动化 实验 指导书