机械工程控制基础实验指导书.docx
- 文档编号:6462192
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:68
- 大小:1.37MB
机械工程控制基础实验指导书.docx
《机械工程控制基础实验指导书.docx》由会员分享,可在线阅读,更多相关《机械工程控制基础实验指导书.docx(68页珍藏版)》请在冰豆网上搜索。
机械工程控制基础实验指导书机械工程控制基础实验指导书机械工程控制基础(经典控制部分)MATLAB仿真实验指导书实验一MATLAB的基本使用1实验二控制系统的时域分析3实验三控制系统频域特性分析5实验四控制系统稳定性分析实验8实验五控制系统校正10第一章MATLAB的基本使用12第二章系统的时域特性22第三章第三章系统的频率特系统的频率特性性40第四章第四章系统的校系统的校正正54参考文献77实验一MATLAB的基本使用
(1)MATLAB最基本的矩阵操作实验;
(2)MATLAB的符号运算操作实验;一、实验目的了解MATLAB的强大功能、使用范围与特点,正确理解并掌握MATLAB的基本知识、基本操作,为后续实验的顺利进行打好基础。
二、实验设备计算机、MATLAB软件、打印机等三、实验要求1、必须进行实验预习,要求认真浏览实验内容,最好能够自己上机独立操作一遍。
2、由于后续实验均以本实验为基础,因此实验一至关重要,认真学习MATLAB的基本使用方法。
3、于实验学时有限,而本实验内容多,并且本实验所涉及的仅是MATLAB的部分内容,所以要求同学们自学,利用课余时间学习MATLAB的相关知识。
四、实验内容与步骤参考实验指导书注意:
1、MATLAB中所有命令及表达式必须在英文状态下输入(汉字除外),而且MATLAB严格区分字母的大小写。
2、所有命令都可通过help来显示该命令的帮助信息,如helpsin(显示正弦函数sin的帮助信息)。
3、所有命令都必须以小写字母形式输入才能正确执行,否则出错。
五、实验报告要求1、书写实验目的、实验所用设备。
2、习题的具体解题过程(包括所用的命令、所用的步骤)。
3、实验体会:
的对MATLAB强大功能的了解,体会MATLAB给我们带来的方便与快捷。
实验二控制系统的时域分析
(1)传递函数的几种形式及其相互转换实验;
(2)传递函数方块图化简实验(3)控制系统的单位脉冲响应曲线分析实验;(4)控制系统的单位阶跃响应曲线分析实验;(5)一阶、二阶系统响应曲线的动态分析实验;一、实验目的1、掌握一阶系统的时域特性,理解时间常数T对系统性能的影响。
2、掌握二阶系统的时域特性,理解二阶系统的两个重要参数x和nw对系统动态特性的影响,并用固高球杆系统进行验证。
3、理解二阶系统的性能指标,掌握它们与系统特征参数、n之间的关系。
4、了解使用MATLAB进行时域特性分析的方法。
二、实验设备计算机、MATLAB软件、打印机等三、实验要求1、了解典型输入信号,理解时间响应的概念,理解掌握时间响应分析和性能指标的计算。
2、对于一阶惯性环节
(1)重点掌握当输入信号为单位阶跃信号时,对应的响应曲线特点;掌握当系统参数T改变时,对应的响应曲线变化特点,以及对系统的性能的影响。
(2)了解当输入信号分别改为单位脉冲信号、单位速度信号时,响应曲线的变化情况及特点。
(3)通过对实验结果的观察、分析和比较,总结对于同一个系统,当输入信号不同时,对系统的性能的影响。
3、对于二阶系统了解输入信号为单位阶跃信号时,对应的响应曲线的特点及系统参数、n改变时(分别取0、1、1、0”之后(有的MATLAB版本命令窗口没有提示符)键入MATLAB命令,回车即获得该命令的答案。
命令窗口内有File、Edit、View、Web、Window、Help等菜单条。
二、二、M文件编辑窗口文件编辑窗口M文件是MATLAB语言所特有的文件。
用户可以在M文件编辑窗口内,编写一段程序,调试,运行并存盘,所保存的用户程序即是用户自己的M文件。
MATLAB工具箱中大量的应用程序也是以M文件的形式出现的,这些M文件可以打开来阅读,甚至修改,但应注意,不可改动工具箱中的M文件!
1进入M文件窗口有两种方法1)命令窗口FileNewM-File;2)命令窗口点击“File”字样下面的图标。
M文件编辑窗口的标记是“Untitled”(无标题的)。
当用户编写的程序要存盘时,Untitled作为默认文件名提供给用户,自然,用户可以,也应当自己命名。
若用户不自己命名,则MATLAB会对Untitled进行编号。
2M文件的执行:
返回命令窗口,在当前目录(CurrentDirectory)内选择所要运行的M文件的目录,在命令窗口提示符“”后,直接键入文件名(不加后缀)即可运行。
注意:
(1)机器默认路径为一级子目录MATLAB6p1work;
(2)MATLAB6.1以前的版本,运行M文件的方法稍有不同,它必须在File菜单下,打开“RunScript”子菜单,键入需要运行的文件路径及名称再回车,在这种情况下,work作为根目录对待,不出现在M文件的路径之中。
本讲义的参考程序都是在M文件窗口下编制的。
三、在线帮助窗口三、在线帮助窗口在命令窗口中键入Help(空格)函数名,可以立即获得该函数的使用方法。
1-3MATLAB最基本的矩阵操作最基本的矩阵操作作为命令窗口及M文件编辑器的应用实例,介绍几个最基本的矩阵运算命令。
一、矩一、矩阵的输入阵的输入在方括号内依次按行键入矩阵元素,在一行内的各元素之间用空格或逗号分开,每行之间用分号分开。
例如,在命令窗内输入A223;454;789(注意:
方括号,分号为矩阵行标记)B1,3,5;6,-4,2;3,5,1(逗号与空格功能相同)A223B1354546-42789351同理:
输入A1246得到行矢量,输入A22;4;6得到列矢量,于是,当输入CA;A1有C123456789246A1作为矩阵C的最后一行,C和A相比,增加了一行。
二、矩阵的转置矩阵A的转置用A表示,显然,A1与A2互为转置,即A1会得到以2,4,6为元素的列矢量。
思考一下输入C1AA2C2AA1有什么结果?
而输入A;A1有无意义?
三、矩阵的四则运算1矩阵的加减法:
当两个矩阵维数相同时可以直接进行“”或“”运算。
如D1AB,D2AB2矩阵的乘法:
当矩阵A,B维数相容时C3AB:
普通意义下的矩阵相乘C4A.B:
矩阵A与B的对应元素相乘显然,ABBA(一般情况),而A.BB.A。
A.B称为数列型乘法,它要求参加运算的矩阵或数列具有相同的行列数,这是MATLAB语言中的一种特殊运算,它在今后求取函数值等运算时是很重要的。
实际上,前面所述的矩阵加、减法就是一种数列型运算。
3矩阵的除法D4AB:
表示A-1B或inv(A)*B,即A的逆矩阵左乘矩阵B。
D5B/A:
表示BA-1或Binv(A),即A的逆矩阵右乘B。
D6A.B:
表示B的每一个元素被A的对应元素除。
D7A./B:
表示A的每一个元素被B的对应元素除。
显然,A.B与A./B的各对应元素互为倒数。
读者可以思考一下,D6.D7等于什么?
D8inv(A):
A的逆矩阵。
打开M文件编辑窗口,将上述命令依次键入,得到fanli001如下:
参考程序fanli001:
矩阵的四则运算A=223;454;789%三阶矩阵输入B=1,3,5;6,-4,2;3,5,1%三阶矩阵输入A1=246%行向量A2=2;4;6%列向量C=A;A1%矩阵A增加一行C1=AA2%矩阵A增加一列C2=AA1%矩阵A增加一列D1=A+B%矩阵相加D2=A-B%矩阵相减C3=A*B%矩阵与矩阵相乘C4=A.*B%矩阵的对应元素相乘D3=AB%A的逆左乘BD4=B/A%A的逆右乘BD6=A.B%B的各元素被A的对应元素除D7=A./B%A的各元素被B的对应元素除D8=inv(A)%A的逆矩阵语句后面的%为语句说明符。
MATLAB中矩阵运算的其它主要命令可通过在线帮助获得。
1-4MATLAB的符号运算操作的符号运算操作一、进入符号运算功能一、进入符号运算功能在命令窗口键入symsxyzt此后,即可以使用x,y,z,t等作自变量定义函数。
symsxyztreal规定所定义的变量为实型。
二、代数方程求解二、代数方程求解使用命令solve可以求解代数方程,如求下例方程组的解,命令为x,y=solve(x2+x*y+y-3=0,x2-4*x-2*y+3=0)程序见范例程序fanli002。
参考程序fanli002:
代数方程求解symsxy%进入符号运算功能f1=x2+x*y+y-3%函数f1f2=x2-4*x-2*y+3%函数f2x,y=solve(x2+x*y+y-3=0,x2-4*x-2*y+3=0)%求解方程组f1a=simplify(subs(f1)%用求解出的x,y检验方程1f2a=simplify(subs(f2)%用求解出的x,y检验方程2x=double(x)%将符号变量转换成浮点数y=double(y)%将符号变量转换成浮点数f1=subs(f1)%用浮点数x,y检验方程1f2=subs(f2)%用浮点数x,y检验方程2由solve求出的根是根的符号表达形式,是准确解。
命令simplify(f)表示化简,subs(f1)表示将求解出x,y代回f1中;double是将符号变量转换成浮点数,是准确解x,y的近似值。
这从程序运行f1a=0,f2a=0,f10,f20可以确认。
三、符号矩阵运算三、符号矩阵运算符号矩阵可以和数值矩阵一样进行运算,例如:
求矩阵特征值eig,求矩阵的逆inv等命令都支持符号运算。
设计算其特征值eig(A),逆矩阵inv(A),程序见fanli003。
参考程序fanli003:
符号矩阵的特征值symstreal%定义为实型变量A=sin(t)-cos(t);cos(t)sin(t)%定义矩阵AB1=eig(A)%求矩阵A的特征值B1=simple(B1)%化简A的特征值表达式B2=inv(A)%求矩阵A的逆矩阵B2=simple(B2)%化简A的逆矩阵表达式C1=A*B2%检验A的逆矩阵C1=simple(C1)%C1为单位矩阵注意函数的输入方法,自变量用圆括号括起来。
四、微积分运算四、微积分运算设函数,则MATLAB中微积分运算命令为fiff(f):
求函数f对自变量x的一阶导数;diff(f,2):
求函数f对自变量x的二阶导数;int(f):
求函数f的不定积分例1.1,设试计算其一阶,二阶导数,积分运算,并作出函数图象,见范例fanli004。
参考程序fanli004:
函数的微分与积分symsxf=1/(5+4*cos(x)ezplot(f)%函数f的曲线f1=diff(f)%函数f的一阶导数figure,ezplot(f1)%函数f一阶导数的曲线f2=diff(f,2)%函数f的二阶导数figure,ezplot(f2)%函数f二阶导数的曲线g=int(int(f2)%函数f的二阶导数f2的二重积分figure,ezplot(g)%函数f2二重积分的曲线e=f-g%二阶导数的二重积分与原函数的差e=simple(e)figure,ezplot(e)程序中ezplot(f):
作函数的图形,x的取值范围默认值为-2x2fanli004的函数曲线fanli004的一阶导函数曲线fanli004的二阶导函数曲线fanli004的二阶导函数的二重积分曲线ezplot(f)是一个很有用的作图命令,它的其它应用形式,请查在线帮助。
细心的读者会发现,一个函数求二阶导数后再对二阶导数进行二重积分,其结果与原函数相差一个常数。
相当于纵坐标发生平移。
第二章第二章系统的时域特性系统的时域特性2-1传递函数传递函数一、传递函数的两种形式一、传递函数的两种形式传递函数通常表达成s的有理分式形式及零极点增益形式。
设传递函数1有理分式形式分别将分子、分母中s多项式的系数按降幂排列成行矢量,缺项的系数用0补齐。
上述函数可表示为num1=21(注意:
方括号,同一行的各元素间留空格或逗号)。
den1=1221syss1=tf(num1,den1)运行后,返回传递函数的形式。
这种形式不能直接进行符号运算!
2零极点增益形式Z,P,K=tf2zp(num1,den1)sys2=zpk(Z,P,K)返回零、极点、增益表达式,其Z,P分别将零点和极点表示成列向量,若无零点或极点用(空矩阵)代替。
运行得到的1点Z=-0.5极点P=-1,-0.5j0.866增益K=2指令zp2tf(Z,P,K)将零极点增益变换成有理分式形式,见程序fanli005。
参考程序fanli005:
传递函数的有理分式及零极点增益模型num1=21%传递函数的分子系数向量den1=1221%传递函数的分母系数向量sys1=tf(num1,den1)%传递函数的有理分式模型Z,P,K=tf2zp(num1,den1)%有理分式模型转换成零极点增益模型num2,den2=zp2tf(Z,P,K)%零极点增益模型转换成有理分式模型sys2=zpk(Z,P,K)%传递函数的零极点增益模型A1,B1,C1,D1=tf2ss(num1,den1)%有理分式模型转换成状态空间模型A2,B2,C2,D2=zp2ss(Z,P,K)%零极点及增益模型转换成状态空间模型num1,den1=ss2tf(A1,B1,C1,D1)%状态空间模型转换成有理分式模型Z,P,K=ss2zp(A2,B2,C2,D2)%状态空间模型转换成零极点增益模型程序中,命令tf2ss,zp2ss及ss2tf,ss2zp是状态空间模型与有理分式及零、极点、增益模型之间的相互转换。
二、传递函数框图的处理二、传递函数框图的处理用框图可以方便地表示传递函数的并联,串联及反馈。
为简洁,仅以有理分式模型为例。
1并联sysp=parallel(sys1,sys2)num,denparallel(num1,den1,num2,den2)2串联syss=series(sys1,sys2)nums,dens=series(num1,den1,num2,den2)3反馈sysc=feedback(syss,sys3,1)默认值(-1)numc,denc=feedback(nums,dens,num3,den3)4单位反馈sysd=feedback(syss,1)numd,dend=feedback(nums,dens,1,1)(单位反馈)上面给出了同一指令的两种形式,相当于两套平行指令。
对于零极点增益形式,书写稍复杂一些,可先用zpk转换成系统形式,或用zp2tf转折换成有理分式形式后再进行框图化简操作。
三、简单函数的拉普拉斯变换三、简单函数的拉普拉斯变换在MATLAB的符号功能中,可以对简单函数进行拉普拉斯正、逆变换。
拉氏正变换:
laplace(f(t)拉氏逆变换:
ilaplace(L(s)其中为原函数,为象函数。
命令格式参见fanli007。
参考程序fanli007:
拉普拉斯变换symsstwabcf1=sqrt(b-a)2+w2)/w*exp(-a*t)*sin(w*t+atan(w/(b-a)%原函数f1L1=laplace(f1)%f1的拉氏变换(象函数)L1=simple(L1)%化简f2=ilaplace(L1)%L1的拉氏逆变换f2=simple(f2)%化简在MATLAB中使用laplace及ilaplace命令时,要注意象、原函数的符号,特别是对初相不等于零的振荡系统,运行结果常常同手册上的结果相差一个符号,这要注意函数表达式成立的条件。
保险的办法是再使用拉氏变换的初值定理确定象、原函数的符号。
2-2系统时域特性曲线系统时域特性曲线在MATLAB中,当传递函数已知时,可以方便地求出系统的单位脉冲响应、单位阶跃响应等曲线。
一、系统的单位阶跃响应一、系统的单位阶跃响应stepstep有以下几种格式step(sys):
直接作出sys的单位阶跃响应曲线。
其中sys=tf(num,den)或sys=zpk(z,p,k),MATLAB自动决定响应时间。
step(sys,t)设定响应时间的单位阶跃响应。
t可以设定为最大响应时间t=t终值(秒),也可以设置为一个向量t=0:
t:
t终值注意冒号的使用。
它产生一个从0到t终值的行矢量,元素之间的间隔为t。
step(sys1,sys2,sysn)在同一幅图上画出几个系统的单位阶跃响应。
y,t=step(sys);命令输出对应时刻t的各个单位阶跃响应值,不画图。
语句后的分号控制数据的屏幕显示。
如果要查看机器计算了多少个数据,可以使用命令size(y)得出的结果也表明数据作为列矢量的行数。
要将计算出的y,t作成曲线,使用一般的作图命令plot(t,y)plot后面跟的两个参数横坐标在前,纵坐标在后。
参考程序见fanli008:
参考程序fanli008:
系统的单位阶跃响应num1=42den1=2814114sys1=tf(num1,den1)%系统G1(s)num2=21den2=14673sys2=tf(num2,den2)%系统G2(s)y1,t1=step(sys1);%系统G1(s)的单位阶跃响应数据y2,t2=step(sys2);%系统G2(s)的单位阶跃响应数据step(sys1,sys2)%系统G1(s)、G2(s)的单位阶跃响曲线figure,step(sys1,sys2,20)%系统G1(s)、G2(s)在自选时间(20秒)内的单位阶跃响曲线figure,plot(t1,y1)%系统G1(s)的单位阶跃响应曲线figure,plot(t2,y2)%系统G2(s)的单位阶跃响应曲线fanli008:
step(sys1,sys2,t)单位阶跃曲线二、系统的单位脉冲响应impulse命令格式与单位阶跃响应step的命令格式完全相同,只需将语句中的step用impulse代替即可。
针对同样的系统,其单位脉冲响应的参考程序见fanli009。
参考程序fanli009:
系统的单位脉冲响应num1=42den1=2814114sys1=tf(num1,den1)num2=21den2=14673sys2=tf(num2,den2)y1,t1=impulse(sys1);%系统G1(s)的单位脉冲响应数据y2,t2=impulse(sys2);%系统G2(s)的单位脉冲响应数据impulse(sys1,sys2)%系统G1(s)、G2(s)的单位脉冲响应曲线figure,impulse(sys1,sys2,20)%系统G1(s)、G2(s)在自选时间(20秒)内的单位脉冲响应曲线figure,plot(t1,y1)%系统G1(s)的单位脉冲响应曲线figure,plot(t2,y2)%系统G2(s)的单位脉冲响应曲线holdon,step(sys2)%系统G2(s)的单位阶跃和单位脉冲响应曲线fanli009:
impulse(sys1,sys2)单位脉冲响应曲线程序的最后一句holdon是当前图形保护模式。
当要将新图形作在当前图形上时,必须使用holdon。
而figure的含意是另开一个新的图形窗口,如果不用figure或holdon,则新的图形会占用原图形窗口,始终只保留一个最新的图形窗口。
三、一阶系统及二阶系统的时域特性三、一阶系统及二阶系统的时域特性一阶系统及二阶系统是最基本也是最重要的系统,高阶系统总可以视为由若干个一阶和(或)二阶系统组合构成。
1一阶系统(设增益为1)影响系统特性的参数是其时间常数T,T越大,系统惯性越大,响应越慢。
参考程序fanli010给出了T0.4,1.2,2.0,2.8,3.6,4,4六条单位阶跃响应曲线。
参考程序fanli010:
一阶系统的单位阶跃响应曲线num=1;i=1;fordel=0.1:
0.2:
1.1%一阶系统时间常数递增间隔den=4*del1;%一阶系统分母向量step(tf(num,den)%一阶系统单位阶跃响应曲线holdon,%不同时间常数的一阶系统单位阶跃响应曲线簇i=i+1;end同理,可以作出对应的单位脉冲响应曲线,参考程序fanli011。
参考程序fanli011:
一阶系统的单位脉冲响应曲线num=1;i=1;fanli010一阶系统时间常数对单位阶跃响应的影响fanli011一阶系统时间常数对单位脉冲响应的影响fordel=0.1:
0.2:
1.1den=4*del1;impulse(tf(num,den),10)%一阶系统单位阶脉冲应曲线holdon,%不同时间常数的一阶系统单位脉冲响应曲线簇i=i+1;end注意MATLAB中for语句的结构。
读者可以改变不同的增益,看看图形有何变化。
2二阶系统(设01)设二阶系统为二阶系统的特征参数为固有频率及阻尼比。
当增大,系统振动频率加快,振荡加剧;而随着减小,系统振荡加剧,振荡峰尖锐。
参考程序fanli012示出了当0.5,=1,2,3,4,5rad/s时的间接阶跃曲线簇。
参考程序fanli012:
不同固有频率的二阶系统的单位阶跃响应曲线(=0.5)i=1;fordel=1:
1:
5;%二阶系统固有频率递增间隔num=del2;%二阶系统传递函数分子系数向量den=1deldel2;%不同固有频率的二阶系统分母系数向量step(tf(num,den),6)%二阶系统单位阶跃响应曲线holdon,%不同固有频率的二阶系统单位阶跃响应曲线簇i=i+1;endfanli012二阶系统固有频率对单位阶跃响应的影响参考程序fanli013示出了同一二阶系统的单位脉冲响应曲线簇。
参考程序fanli013:
不同固有频率的二阶系统的单位脉冲响应曲线(=0.5)i=1;fordel=1:
1:
5;num=del2;den=1deldel2;%不同固有频率的二阶系统分母系数向量impulse(tf(num,den),6)%二阶系统单位脉冲响应曲线holdon,%不同固有频率的二阶系统单位脉冲响应曲线簇i=i+1;endfanli013二阶系统固有频率对单位脉冲响应的影响参考程序fanlio14示出了当1,0.1,0.3,0.5,0.7,0.9的二阶系统的单位阶跃响应曲线簇。
参考程序fanli014:
不同阻尼比的二阶系统的单位阶跃响应曲线(=1)i=1;fordel=0.1:
0.2:
0.9;%二阶系统阻尼比递增间隔num=1;den=12*del1;%不同阻尼比的二阶系统分母系数向量step(tf(num,den),30)holdon,%不同阻尼比的二阶系统单位阶跃响应曲线簇i=i+1;endfamli014二阶系统阻尼比对单位阶跃响应的影响参考程序fanli015示出了同一二阶系统当取0.1,0.3,0.5,0.7,0.9的单位脉冲响应曲线簇。
参考程序fanli015:
不同阻尼比的二阶系统的单位脉冲响应曲线(=1)i=1;fordel=0.1:
0.2:
0.9;num=1;den=12*del1;impulse(tf(num,den),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械工程 控制 基础 实验 指导书