武汉工程大学《自动控制原理》实验指导书《自动控制原理》实验指导书武汉工程大学电气信息学院二零零九年八月武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书《自动控制原理》实验说明本实验指导书以实验目的、实验要求和实验任务为主要内容,学生在做实验之前必须写好实验预习报告。实验过程中,必须严格遵守实验室的规章制度,提前完成实验任务的同学,可以在老师的指导下,进行更深层次的实验和学习。实验结束时,各位同学必须清理好实验设备,关闭计算机,同时还要保持实验室的清洁卫生。经老师同意后,方可离开实验室。一实验条件要求硬件:个人计算机;软件:MATLAB仿真软件(版本6.5或以上);参考书目:《自动控制原理》,胡寿松主编,科学出版社;《自动控制理论实验及综合系统设计》,张秀玲主编,华中科技大学出版社此外,学生还要自带中性笔、草稿纸、5号电池和实验报告等。二实验任务实验1认识MATLAB实验2基于MATLAB的控制系统建模实验3基于MATLAB的控制系统时域及稳定性分析实验4基于MATLAB的控制系统频域及根轨迹分析三实验要求说明为加深《自动控制原理》的学习,学生做实验的过程中必须做好以下准备:1.写好每个实验的预习报告;武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书2.记录实验过程中的程序、图表及相关数据;3.写好实验报告并在规定的时间内上交给老师。武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书实验1认识MATLAB一实验目的¾了解MATLAB的发展过程及MATLAB在自动控制中的用途;¾理解MATLAB绘制曲线的基本原理及相关操作方法;¾掌握MATLAB的基本应用技能。二实验要求¾实验前复习教材中的相关内容,做好实验预习报告。三实验内容及步骤1.MATLAB的基本操作(1)MATLAB命令窗口计算机安装好MATLAB之后,双击MATLAB图标,即进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。MATLAB语句形式为:》变量=表达式但键入回车时,该语句被执行。该语句执行之后,窗口自动显示出执行语句的结果。如果不希望结果显示在命令窗口,只需要在该语句之后加一个分号“;”即可。此时尽管没有显示结果,但它依然被赋值并在MATLAB的工作空间中分配了内存。○注○意:a.用方向键和控制键可以编辑修改已输入的命令;b.用命令窗口的分页输出“moreoff”表示不允许分页;“moreon”表示允许分页;“more(n)”指定每页输出的页数;武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书c.多行命令为“…”。(2)变量变量的名字必须以字母开头,之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含标点符号。MATLAB规定了一些特殊的变量,如果没有特别定义,将其表示为默认值。(3)数值显示格式任何MATLAB语句执行的结果都可以显示在屏幕上,同时赋值给指定的变量;没有指定变量时,赋值给一个特殊的变量“ans”。数据显示格式由“format”命令控制。(4)简单的数学运算常用的数学运算符有“+”,“-”,“*”,“\”(左除),“/”(右除),“^”(幂)。在运算式中,MATLAB通常不需要考虑空格,多条指令可以放在一行中,它们之间需要用标点符号隔开,用逗号告诉MATLAB显示结果,而分号表示禁止结果显示。(5)工作空间MATLAB的工作空间包含了一组可以在命令窗口中调整的参数。Who:显示当前工作空间中所有变量的一个简单列表。Whos:列出变量的大小、数据格式等详细信息。Clear:清除工作空间所有的变量。Clear变量名:清除指定的变量。Quilt或exit:退出工作空间。(6)帮助武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书使用帮助可以用菜单命令“help”,也可以在命令窗口中使用命令“help”在命令窗口显示特定帮助的内容。2.MATLAB的绘图(1)基本的绘图命令Plot(x1,y1,’option’,x2,y2,’option’,…)此绘图函数以逐点连折线的方式绘制了一个二维图,同时类似的绘制了第二个二维图等。这是plot命令的完整格式,在实际应用中可以根据实际需要进行简化。另外,经plot函数绘制出来的图形,可以在图形中直接修改。(2)选择图形命令Figure(1),figure(2),……,figure(n):打开不同的图形窗口,以绘制不同的图形。(3)栅格控制命令Gridon:在所画的图形坐标中加入栅格。Gridoff:除去图形坐标中的栅格。(4)图形保持命令Holdon:把当前图形保持在屏幕上不变,同时允许在这个坐标上绘制另外的图形。Holdoff:使新的图形覆盖旧的图形。(5)设定轴的范围命令Axis([xminxmaxyminymin]):设定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)linspace(n1,n2):n1和n2分别表示起点和终点。3.绘图举例具体程序如下:%用不同的线型在同一坐标系内绘图clear;t=0:pi/100:2*pi;y1=sin(t);y2=sin(t–0.35);y3=sin(t–0.7);plot(t,y1,’:’,t,y2,‘--’,t,y3,‘-’);holdon;y4=sin(t–1.05);plot(t,y4,‘-.’);axis([-17-1.21.2]);武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书四实验报告要求1.记录实验过程中的图表及相关数据;2.记录该实验中的的例题,同时还需要加题头“正弦波形比较”,y轴“幅值”,x轴“时间”。武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书实验2基于MATLAB的控制系统建模一实验目的¾了解控制系统工具箱的组成、特点及应用;¾理解线性定常系统状态转移矩阵的计算;¾掌握连续系统的传递函数的各种表示方法。二实验要求¾根据MATLAB所提供的描述传递函数的相关指令,自己可构建各种传递函数的数学模型,并学会多种传递函数的转换指令。¾根据实验目的,使用simulink推导出各环节的传递函数。三实验内容及步骤在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间可以相互转化。1.连续系统的传递函数模型该系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别由“num”和“den”表示,如:num=[b1,b2,……,bm];den=[a1,a2,……,am];2.零极点增益模型零极点增益模型实际上是传递函数模型的另一种表示方法。其传递函数为:)-s()2)(1()()2)(1()(pnpspszmszszsksG……−−−……−−=武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书在MATLAB中,零极点增益模型用[z,p,k]矢量表示,即z=[z1,z2,……zm];p=[p1,p2,……,pn];k=[k];函数tf2zp()可以用来求传递函数的零极点和增益。3.模型的转换及连接例:已知一个系统的传递函数模型为:61162)()()(23111+++−==ssssusysGnum=[00-2;0-1-5;120];den=[16116];[A,B,C,D]=tf2ss(num,den)A=-6-11-6B=1C=00-2D=010000-1-5001001200(1)并联:parallel格式:[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2)%并联连接两个状态空间系统。[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2,inp1,inp2,out1,out2)%inp1和inp2分别指定两系统中要连接在一起的输入端编号,从u1,u2,…,un依次编号为1,2,…,n;out1和out2分别指定要作相加的输出端编号,编号方式与输入类似。inp1和inp2既可以是标量也可以是向量。out1和out2用法与之相同。如inp1=1,inp2=3表示系统1武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书的第一个输入端与系统2的第三个输入端相连接。若inp1=[13],inp2=[21]则表示系统1的第一个输入与系统2的第二个输入连接,以及系统1的第三个输入与系统2的第一个输入连接。[num,den]=parallel(num1,den1,num2,den2)%将并联连接的传递函数进行相加。(2)串联:series格式:[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2)%串联连接两个状态空间系统。[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2,out1,in2)%out1和in2分别指定系统1的部分输出和系统2的部分输入进行连接。[num,den]=series(num1,den1,num2,den2)%将串联连接的传递函数进行相乘。(3)反馈:feedback格式:[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2)%将两个系统按反馈方式连接,一般而言系统1为对象,系统2为反馈控制器。[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)%系统1的所有输出连接到系统2的输入,系统2的所有输出连接到系统1的输入,sign用来指示系统2输出到系统1输入的连接符号,sign缺省时,默认为负,即sign=-1。总系统的输入/输出数等同于系统1。[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,inp1,out1)%部分反馈连接,将系统1的指定输出out1连接到系统2的输入,系统2的输出连接到系统1的指定输入inp1,以此构成闭环系统。武汉工程大学《自动控制原理》实验指导书武汉工程大学《自动控制原理》实验指导书[num,den]=feedback(num1,den1,num2,den2,sign)%可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。sign的含义与前述相同。(4)闭环:cloop(单位反馈)格式:[ac,bc,cc,dc]=cloop(a,b,c,d,sign)%通过将所有的输出反馈到输入,从而产生闭环系统的状态空间模型。当sign=1时采用正反馈;当sign=-1时采用负反馈;sign缺省时,默认为负反馈。[ac,bc,cc,dc]=cloop(a,b,c,d,outputs,inputs)%表示将指定的输出outputs反馈到指定的输入inputs,以此构成闭环系统的状态空间模型。一般为正反馈,形成负反馈时应在inputs中采用负值。[numc,denc]=cloop(num,den,sign)%表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同。4.使用simulink构建四阶控制系统根据上述系统,使用MATLAB指令推导出闭环系统的传递函数,程序如下:s1=tf([1],[10])s2=tf