
自动控制原理MATLAB实验指导书.doc
12页《自动控制原理实验指导书》目 录 实验一 系统的数学模型(实验代码1)………………………………………………… 2实验二 控制系统的时域分析(实验代码2)…………………………………………… 6实验三 控制系统的频域分析(实验代码3)…………………………………………… 9实验四 简单闭环控制系统的控制器的设计(实验代码4)…………………………… 11注释 ……………………………………………………………………………………… 13主要参考文献 ………………………………………………………………………………… 13实验一 系统的数学模型(实验代码1) 一、 实验目的和任务 1、 学会使用MATLAB的命令; 2、 掌握MATLAB有关传递函数求取及其零、极点计算的函数3、 掌握用MATLAB 求取系统的数学模型二、 实验仪器、设备及材料 1、 计算机2、 MATLAB软件三、 实验原理1、 MATLAB软件的使用2、 使用MATLAB软件在计算机上求取系统的传递函数四、 实验步骤准备知识:1、求串联环节的传递函数:X(s)Y(s) 串联后的传递函数为: MATLAB计算公式:[num,den]=series(num1,den1,num2,den2)2、 求并联环节的传递函数: ++X(s)Y(s) 并联后的传递函数为: MATLAB计算公式:[num,den]=parallel(num1,den1,num2,den2)3、 求单位反馈控制系统的传递函数:+闭环传递传递函数为: MATLAB计算公式:[num,den]=cloop(num1,den1,sign)Sign参数:正反馈用+1,负反馈用-1。
缺省情况为负反馈4、 求闭环控制系统的传递函数:+闭环传递函数为:MATLAB计算公式:[num,den]=feedback(num1,den1,num2,den2,sign)Sign参数:正反馈用+1,负反馈用-1缺省情况为负反馈5、 多项式相乘:多项式与相乘,需要先建立两个多项式对应的向量、,然后利用MATLAB函数Conv()进行例:>>a=[1,2];>>b=[2,3];>>c=conv(a,b) 上面三个命令就是求取多项式与相乘后的向量实验内容:1、 特征多项式的建立与特征根的求取在命令窗口依次运行下面命令,并记录各命令运行后结果>>p=[1,3,0,4]; 构建特征多项式的矩阵>>r=roots(p) 求特征方程的特征根>>p=poly(r) 从特征根构建特征多项式的矩阵2、 求单位反馈系统的传递函数:在命令窗口依次运行下面命令,并记录各命令运行后结果>>numg=[1];deng=[500,0,0]; 构建传递函数的特征多项式>>numc=[1,1];denc=[1,2]; 构建传递函数的特征多项式>>[num1,den1]=series(numg,deng,numc,denc); 求>>[num,den]=cloop(num1,den1,-1) 求开环传递函数为的闭环传递函数>>printsys(num,den) 输出传递函数3、 传递函数零、极点的求取在命令窗口依次运行下面命令,并记录各命令运行后结果>>num1=[6,0,1];den1=[1,3,3,1]; 构建传递函数的特征多项式>>z=roots(num1) ; 求的零点>>p=roots(den1) ; 求的极点>>n1=[1,1];n2=[1,2];d1=[1,2*i];d2=[1,-2*i];d3=[1,3];>>num2=conv(n1,n2) 求多项式>>den2=conv(d1,conv(d2,d3)) 求多项式>>printsys(num2,den2) 构建>>num=conv(num1,den2);den=conv(den1,num2); 构建的特征多项式的矩阵>>printsys(num,den) 输出以多项式表示的传递函数>>pzmap(num,den),title(‘极点-零点图’) 输出传递函数的极点和零点图。
4、 求反馈联接系统的传递函数:在命令窗口依次运行下面命令,并记录各命令运行后结果>>numg=[1];deng=[500,0,0]; 构建传递函数的特征多项式>>numh=[1,1];denh=[1,2]; 构建传递函数的特征多项式>>[num,den]=feedback(numg,deng,numh,denh)>>printsys(num,den)5、 自行利用MATLAB命令求取以下系统传递函数,并记录下结果 X(s)Y(s)五、 实验报告要求1、 将各实验内容的要求写入实验报告2、 写出要求的实验程序3、 记录各命令运行后的结果4、 写出开环系统和闭环系统的阶数5、 实验报告应手工填写六、 实验注意事项1、 应做好MATLAB预习2、 应注意记录下每一命令和运行后的结果,并写入实验报告中七、 思考题 1、 实验内容中的第5项系统的反馈是什么反馈?2、 闭环系统的零、极点个数相等吗?各为多少?实验二 控制系统的时域分析(实验代码2) 一、 实验目的和任务 1、 掌握用MATLAB对系统进行时间响应分析;2、 掌握一阶惯性系统以及二阶系统的时间响应特征以及系统性能与系统参数之间的关系。
二、 实验仪器、设备及材料 1、 计算机2、 MATLAB软件三、 实验原理1、 利用计算机对控制系统进行时域分析2、 使用MATLAB软件在计算机上对一、二阶系统进行时域分析四、 实验步骤准备知识:设输入x(t),为输出为y(t),仿真时间段为矩阵t系统的传递函数用特征矩阵表示为:利用MATLAB求取系统时间响应的函数有:求取单位阶跃响应:求取单位脉冲响应:求取任意输入的时间响应: (注:u表示输入列向量)1. 使用MATLAB求一阶惯性系统的单位阶跃响应曲线系统传递函数如下: 在命令窗口依次运行下面命令,并记录各命令运行后结果>>t=[0:.5:5];>>y=1-exp(-2*t);>>plot(t,y,`r`);>>axis[0 5 0 1.1];>>set(gca,`ytick`,0:.1:1.1);>>title(`y(t)=1-exp(-2t)`);>>xlabel(`t`);>>ylabel(`y(t)`);>>grid若系统传递函数为:自行编制在命令窗口运行命令,求其单位阶跃响应,并与上面的结果进行比较,把结论写入实验报告2.使用MATLAB求二阶系统的单位阶跃响应曲线。
系统传递函数如下: (其中: 从0变化到2)在命令窗口如下运行命令,,并记录各命令运行后结果>>syms sfor zeta=[0:0.2:0.8,1:0.5:2]wn=0.4;wn=sym(num2str(wn));zet=sym(num2str(zeta));if zeta==0figure(1)ezplot(ilaplace(wn^2/s/s^2+wn^2)),[0 80]);grid ontitle(`\xi=0`)elseif zeta==1 figure(2) ezplot(ilaplace(wn^2/s/(s+wn)^2),[0 80]);hold on;else figure(2)ezplot(ilaplace(wn^2/s/(s^2+2*zet*wn+wn^2)),[0 80]);hold on;endendendgrid on;title(`\xi:0.2,0.4,0.6,0.8,1.0,1.5,2.0`)axis([0 80 0 1.8])gtext(`0.4`)gtext(`1.0`)gtext(`2.0`)比较不同值系统的响应曲线,有何结论?五、 实验报告要求1、 将各实验内容的要求写入实验报告。
2、 将实验程序写入实验报告3、 记录各命令运行后的结果4、 对运行的结果给出比较5、 实验报告应手工填写六、 实验注意事项1、 应做好MATLAB预习2、 应注意记录下每一命令和运行后的结果,并写入实验报告中3、 对实验数据给出比较结论七、 思考题 1、 一阶系统的时间常数T对系统价跃响应的影响2、 二阶系统阻尼比对系统价跃响应的影响实验三 控制系统的频域分析(实验代码3) 一、 实验目的和任务 1、 利用MATLAB画一阶和二阶控制系统的伯德图2、 利用MATLAB计算所给系统的相角裕量和幅值裕。












