《控制工程基础》实验指导书8学时.docx
《《控制工程基础》实验指导书8学时.docx》由会员分享,可在线阅读,更多相关《《控制工程基础》实验指导书8学时.docx(16页珍藏版)》请在冰豆网上搜索。
![《控制工程基础》实验指导书8学时.docx](https://file1.bdocx.com/fileroot1/2022-12/10/f99642d2-080c-475a-b592-5e8df70cd4e9/f99642d2-080c-475a-b592-5e8df70cd4e91.gif)
《控制工程基础》实验指导书8学时
《控制工程基础》实验指导书
机械与车辆学院
2013
实验一matlab软件使用
一、实验目的
1.掌握MATLAB软件使用的基本方法;
2.熟悉MATLAB的数据表示、基本运算和程序控制语句;
3.熟悉MATLAB程序设计的基本方法。
4.学习用MATLAB创建控制系统模型。
二、实验原理
1.MATLAB的基本知识
MATLAB是矩阵实验室(Matrix Laboratory)之意。
MATLAB具有卓越的数值计算能力,具有专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,与工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。
当MATLAB程序启动时,一个叫做MATLAB桌面的窗口出现了。
默认的MATLAB桌面结构如下图所示。
在MATLAB集成开发环境下,它集成了管理文件、变量和用程序的许多编程工具。
在MATLAB桌面上可以得到和访问的窗口主要有:
命令窗口(TheCommandWindow):
在命令窗口中,用户可以在命令行提示符(>>)后输入一系列的命令,回车之后执行这些命令,执行的命令也是在这个窗口中实现的。
命令历史窗口(TheCommandHistoryWindow):
用于记录用户在命令窗口(TheCommandWindows),其顺序是按逆序排列的。
即最早的命令在排在最下面,最后的命令排在最上面。
这些命令会一直存在下去,直到它被人为删除。
双击这些命令可使它再次执行。
要在历史命令窗口删除一个或多个命令,可以先选择,然后单击右键,这时就有一个弹出菜单出现,选择DeleteSection。
任务就完成了。
工作台窗口(Workspace):
工作空间是MATLAB用于存储各种变量和结果的内存空间。
在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。
当前路径窗口(CurrentDirectoryBrowser)
MATLAB命令常用格式为:
变量=表达式
或直接简化为:
表达式
通过“=”符号将表达式的值赋予变量,若省略变量名和“=”号,则MATLAB自动产生一个名为ans的变量。
变量名必须以字母开头,其后可以是任意字母、数字或下划线,大写字母和小写字母分别表示不同的变量,不能超过19个字符,特定的变量如:
pi(=3.141596)、Inf(=∞)、NaN(表示不定型求得的结果,如0/0)等不能用作它用。
表达式可以由函数名、运算符、变量名等组成,其结果为一矩阵,赋给左边的变量。
MATLAB所有函数名都用小写字母。
MATLAB有很多函数,因此很不容易记忆。
可以用帮助(HELP)函数帮助记忆,有三种方法可以得到MATLAB的帮助。
最好的方法是使用帮助空间窗口(helpbrowser)。
你可以单击MATLAB桌面工具栏上的图标,也可以在命令窗口(TheCommandWindows)中输入helpdesk或helpwin来启动帮助空间窗口(helpbrowser)。
你可以通过浏览MATLAB参考证书或搜索特殊命令的细节得到帮助。
另外还有两种运用命令行的原始形式得到帮助。
第一种方法是在MATLAB命令窗口(TheCommandWindows)中输入help或help和所需要的函数的名字。
如果你在命令窗口(TheCommandWindows)中只输入help,MATLAB将会显示一连串的函数。
如果有一个专门的函数名或工具箱的名字包含在内,那么help将会提供这个函数或工具箱。
第二种方法是通过lookfor函数得到帮助。
lookfor函数与help函数不同,help函数要求与函数名精确匹配,而lookfor只要求与每个函数中的总结信息有匹配。
Lookfor函数比help函数运行起来慢得多,但它提高了得到有用信息的机会。
使用HELP函数可以得到有关函数的屏幕帮助信息。
常用运算符及特殊符号的含义与用法如下:
+数组和矩阵的加法
-数组和矩阵的减法
*矩阵乘法
/矩阵除法
[]用于输入数组及输出量列表
()用于数组标识及输入量列表
‘’其内容为字符串
分隔输入量,或分隔数组元素
;1.分开矩阵的行
2.在一行内分开几个赋值语句
3.需要显示命令的计算结果时,则语句后面不加“;”号,否则要加
“;”号。
%其后内容为注释内容,都将被忽略,而不作为命令执行
…用来表示语句太长,转到第二行继续写
回车之后执行这些命令
举例:
矩阵的输入
123
A=456
789
矩阵的输入要一行一行的进行,每行各元素用(,)或空格分开,每行用(;)分开。
MATLAB书写格式为:
A=[1,2,3;4,5,6;7,8,9]
或A=[123;456;789]
回车之后运行程序可得到A矩阵
A=123
456
789
需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。
运行下面两种格式可以看出他们的区别
a=[123;456;789]a=[123;456;789];
a=123(不显示计算结果)
456
789
2.系统建模
(1)系统的传递函数模型
系统的传递函数为:
对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量可分别用变量名num和den表示。
num=[b1,b2,…,bm,bm+1]
den=[a1,a2,…,an,an+1]
注意:
它们都是按s的降幂进行排列的。
举例:
传递函数:
输入:
>>num=[12,24,0,20],den=[24622]
显示:
num=1224020
den=24622
(2)模型的连接
1)并联:
parallel
格式:
[num,den]=parallel(num1,den1,num2,den2)%将并联连接的传递函数相加。
举例:
传递函数:
输入:
>>num1=3;den1=[1,4];num2=[2,4];den2=[1,2,3];[num,den]=parallel(num1,den1,num2,den2)
显示:
num=051825
den=161112
2)串联:
series
格式:
[num,den]=series(num1,den1,num2,den2)%将串联连接的传递函数相乘。
3)反馈:
feedback
格式:
[num,den]=feedback(num1,den1,num2,den2,sign)
%将两个系统按反馈方式连接,系统1为对象,系统2为反馈控制器,系统和闭环系统均以传递函数的形式表示。
sign用来指示系统2输出到系统1输入的连接符号,sign缺省时,默认为负,即sign=-1。
总系统的输入/输出数等同于系统1。
4)闭环:
cloop(单位反馈)
格式:
[numc,denc]=cloop(num,den,sign)
%表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同。
三、实验仪器和用具
主要仪器设备:
1.电脑,1台/人
2.MATLAB软件
四、实验方法与步骤
1.掌握MATLAB软件使用的基本方法;
2.用MATLAB产生如下系统的传递函数模型:
3.系统结构图如下所示,求其传递函数模型
4.系统结构图如下所示,传递函数模型
5.系统结构图如下所示,求其多项式传递函数模型
五、实验分析及结论
1.记录程序
2.记录与显示给定系统数学模型
3.完成上述各题
六、注意事项
掌握MATLAB软件使用的基本方法;用Matlab产生系统的传递函数模型
七、思考题
1.怎样使用MATLAB软件?
2.怎样用MATLAB产生系统的传递函数模型?
实验二控制系统时域特性分析
一、实验目的
1.利用MATLAB对一、二阶系统进行时域分析。
2.掌握一阶系统的时域特性,理解时间常数T对系统性能的影响。
3.掌握二阶系统的时域特性,理解二阶系统的两个重要参数ξ和ωn对系统动态特性的影响。
二、实验原理
1.MATLAB的基本知识
MATLAB为用户提供了专门用于单位阶跃响应并绘制其时域波形的函数step
阶跃响应常用格式:
step(num,den)
或step(num,den,t)表示时间范围0~t。
或step(num,den,t1:
p:
t2)绘出在t1~t2时间范围内,且以时间间隔p均匀取样的波形。
举例:
二阶系统闭环传函为
绘制单位阶跃响应曲线。
输入:
>>num=[2,5];den=[1,0.6,0.6];step(num,den)
显示:
2.系统的单位阶跃响应
3.系统的动态性能指标
三、实验仪器和用具
主要仪器设备:
1.计算机
2.MATLAB软件
四、实验方法与步骤
1.一阶系统
T分别为0.2、0.5、1、5时单位阶跃响应曲线
2.二阶系统
1)ωn=6,ξ分别为0.2、0.5、1时单位阶跃响应曲线
2)ξ=0.7,ωn分别为2、4、12时单位阶跃响应曲线
3)键入程序,观察并记录单位阶跃响应曲线
4)记录各响应曲线实际测取的峰值大小、峰值时间、超调量及过渡过程时间,并填表:
实际值
理论值
峰值Cmax
峰值时间tp
超调量
过渡时间ts
五、实验分析及结论
1.完成上述各题完成上述各题
2.记录程序,观察记录单位阶跃响应曲线
3.响应曲线及指标进行比较,作出相应的实验分析结果
4.分析系统的动态特性
六、注意事项
1.注意一阶惯性环节当系统参数T改变时,对应的响应曲线变化特点,以及对系统的性能的影响。
2.注意二阶系统的性能指标与系统特征参数ξ、ωn之间的关系。
七、思考题
1.一阶系统时间常数T对系统性能有何影响?
2.二阶系统的两个重要参数ξ和ωn对系统性能有何影响?
实验三控制系统频域特性分析
一、实验目的
1.加深理解频率特性的概念,掌握系统频率特性的测试原理及方法。
2.利用MATLAB作出开环系统的奈奎斯特图和波特图,对控制系统特性进行分析。
二、实验原理
1.奈奎斯特图(幅相频率特性图)
MATLAB为用户提供了专门用于绘制奈奎斯特图的函数nyquist
常用格式:
nyquist(num,den)
或nyquist(num,den,w)表示频率范围0~w。
或nyquist(num,den,w1:
p:
w2)绘出在w1~w2频率范围内,且以频率间隔p均匀取样的波形。
举例:
系统开环传函为
绘制奈奎斯特图。
输入:
>>num=[2,5,1];den=[1,2,3];nyquist(num,den)
显示:
2.对数频率特性图(波特图)
MATLAB为用户提供了专门用于绘制波特图的函数bode
常用格式:
bode(num,den)
或bode(num,den,w)表示频率范围0~w。
或bode(num,den,w1:
p:
w2)绘出在w1~w2频率范围内,且以频率间隔p均匀取样的波形。
举例:
系统开环传函为
绘制波特图。
输入:
>>num=num=[1];den=[1,0.2,1];bode(num,den)
显示:
3.Bode图和Nyquist图的画法;
4.Nyquist稳定性判据内容;
三、实验仪器和用具
主要仪器设备:
1.计算机
2.MATLAB软件
四、实验方法与步骤
1.系统开环传函为
,用Matlab作出Nyquist图,然后用笔进行计算,并进行手工作图,与坐标轴有交点的必须求解交点,并与matlab做出的图形进行对比。
2.用Matlab作Bode图,系统开环传函为
,然后用笔进行计算,并进行手工作图,并与matlab做出的图形进行对比。
五、实验分析及结论
1.完成上述各题
2.记录程序,观察记录各种曲线
3.根据开环频率特性图分析闭环系统稳定性及其他性能
4.作出相应的实验分析结果
六、注意事项
1.频率特性的概念
2.频率特性的测试原理及方法。
七、思考题
1.典型环节的频率特性?
2.怎样用奈奎斯特图和波特图对控制系统特性进行分析?
实验四控制系统稳定性分析
一、实验目的
1.加深理解稳定性的概念,掌握判断系统的稳定性的原理及方法。
2.学会运用各种稳定判据来判断系统的稳定性及对控制系统稳定性进行分析。
3.学会运用MATLAB对系统稳定性进行仿真。
二、实验原理
1.传递函数描述
(1)连续系统的传递函数模型
连续系统的传递函数如下:
对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。
num=[b1,b2,…,bm,bm+1]
den=[a1,a2,…,an,an+1]
注意:
它们都是按s的降幂进行排列的。
(2)零极点增益模型
零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。
K为系统增益,zi为零点,pj为极点
在MATLAB中零极点增益模型用[z,p,K]矢量组表示。
即:
z=[z1,z2,…,zm]
p=[p1,p2,...,pn]
K=[k]
函数tf2zp()可以用来求传递函数的零极点和增益。
(3)部分分式展开
控制系统常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。
函数[r,p,k]=residue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式。
向量b和a是按s的降幂排列的多项式系数。
部分分式展开后,余数返回到向量r,极点返回到列向量p,常数项返回到k。
[b,a]=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。
举例:
传递函数描述:
1)
》num=[12,24,0,20];den=[24622];
2)
借助多项式乘法函数conv来处理:
》num=4*conv([1,2],conv([1,6,6],[1,6,6]));
》den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5]))));
零极点增益模型:
》num=[1,11,30,0];
》den=[1,9,45,87,50];[z,p,k]=tf2zp(num,den)
》z=
0
-6
-5
p=
-3.0000+4.0000i
-3.0000-4.0000i
-2.0000
-1.0000
k=
1
结果表达式
部分分式展开:
》num=[2,0,9,1];
》den=[1,1,4,4];[r,p,k]=residue(num,den)
》r=
0.0000-0.2500i
0.0000+0.2500i
-2.0000
p=
0.0000+2.0000i
0.0000-2.0000i
-1.0000
k=
2
结果表达式
2.模型的转换与连接
(1)模型的转换
在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。
模型转换的函数包括:
residue:
传递函数模型与部分分式模型互换
tf2zp:
传递函数模型转换为零极点增益模型
zp2tf:
零极点增益模型转换为传递函数模型
用法举例:
已知部分分式:
》r=[-0.25i,0.25i,-2];
》p=[2i,-2i,-1];k=2;
》[num,den]=residue(r,p,k)
》num=
2091
》den=
1144
三、实验仪器和用具
主要仪器设备:
1.计算机
2.MATLAB软件
四、实验方法与步骤
1.系统开环传函为
(1)先用笔进行计算,绘制出系统奈氏图,并用奈氏稳定判据判断该系统的稳定性;
(2)利用matlab命令绘制出该系统奈氏图,并分析系统稳定性;
2.系统开环传函为
(1)先用笔进行计算,绘制出系统奈氏图,并用奈氏稳定判据判断该系统的稳定性;
(2)利用matlab命令绘制出该系统奈氏图,并分析系统稳定性;
五、实验分析及结论
1.完成上述各题
2.记录程序,观察记录各种曲线
3.根据特性图分析闭环系统稳定性
4.作出相应的实验分析结果
六、注意事项
1.稳定性的概念
2.稳定性的测试原理及方法。
七、思考题
1.怎样判断系统的稳定性?
2.有多少方法判断系统的稳定性?