目 录
实验一 系统的数学模型(实验代码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) num2num1G(s)? G1(s)? 2 den2den1
串联后的传递函数为:G(s)?Y(s)num ?X(s)denMATLAB计算公式:[num,den]=series(num1,den1,num2,den2) 2、 求并联环节的传递函数:
X(s) G1(s)?num1den1 den2 + Y(s) num 2 +
G2(s)?G(s)?并联后的传递函数为:
Y(s)num?X(s)den
MATLAB计算公式:[num,den]=parallel(num1,den1,num2,den2)
1
《自动控制原理(机械)》实验指导书
3、 求单位反馈控制系统的传递函数:
闭环传递传递函数为:GB(s)?X(s) + ?num1Gc(s)G(s)?den1Y(s) GC(s)G(s)Y(s)num ??X(s)1?Gc(s)G(s)denMATLAB计算公式:[num,den]=cloop(num1,den1,sign) Sign参数:正反馈用+1,负反馈用-1。缺省情况为负反馈。
4、 求闭环控制系统的传递函数:
闭环传递函数为:GB(s)?X(s) + ?num1G(s)?den1H(s)?num2den2Y(s) GC(s)G(s)Y(s)num?? X(s)1?Gc(s)G(s)H(s)denMATLAB计算公式:[num,den]=feedback(num1,den1,num2,den2,sign) Sign参数:正反馈用+1,负反馈用-1。缺省情况为负反馈。
5、 多项式相乘:
多项式?a1s?a2?与?b1s?b2?相乘,需要先建立两个多项式对应的向量a、b,然后利用MATLAB函数Conv()进行。例:
>>a=[1,2]; >>b=[2,3]; >>c=conv(a,b)
上面三个命令就是求取多项式?s?2?与?2s?3?相乘后的向量。
实验内容:
1、 特征多项式的建立与特征根的求取
在命令窗口依次运行下面命令,并记录各命令运行后结果
32>>p=[1,3,0,4]; 构建特征多项式p(s)?s?3s?4的矩阵
>>r=roots(p) 求特征方程p(s)?s?3s?4?0的特征根 >>p=poly(r) 从特征根构建特征多项式的矩阵
2
32 《自动控制原理(机械)》实验指导书
2、 求单位反馈系统的传递函数:
在命令窗口依次运行下面命令,并记录各命令运行后结果
1的特征多项式
500s2s?1>>numc=[1,1];denc=[1,2]; 构建传递函数Gc(s)?的特征多项式
s?2>>numg=[1];deng=[500,0,0]; 构建传递函数G(s)?>>[num1,den1]=series(numg,deng,numc,denc); 求G(s)Gc(s)
>>[num,den]=cloop(num1,den1,-1) 求开环传递函数为G(s)Gc(s)的闭环传递函数 >>printsys(num,den) 输出传递函数 3、 传递函数零、极点的求取
在命令窗口依次运行下面命令,并记录各命令运行后结果
6s2?1>>num1=[6,0,1];den1=[1,3,3,1]; 构建传递函数G(s)?3的特征多项式 2s?3s?3s?1>>z=roots(num1) ; 求G?s?的零点 >>p=roots(den1) ; 求G?s?的极点 >>n1=[1,1];n2=[1,2];d1=[1,2*i];d2=[1,-2*i];d3=[1,3];
>>num2=conv(n1,n2) 求多项式(s?1)(s?2)
>>den2=conv(d1,conv(d2,d3)) 求多项式(s?2j)(s?2j)(s?3) >>printsys(num2,den2) 构建H(s)?(s?1)(s?2)
(s?2j)(s?2j)(s?3)>>num=conv(num1,den2);den=conv(den1,num2); 构建
G(s)的特征多项式的矩阵 H(s)>>printsys(num,den) 输出以多项式表示的传递函数 >>pzmap(num,den),title(‘极点-零点图’) 输出传递函数的极点和零点图。
4、 求反馈联接系统的传递函数:
在命令窗口依次运行下面命令,并记录各命令运行后结果
1的特征多项式 2500ss?1>>numh=[1,1];denh=[1,2]; 构建传递函数H(s)?的特征多项式
s?2>>numg=[1];deng=[500,0,0]; 构建传递函数G(s)?>>[num,den]=feedback(numg,deng,numh,denh) >>printsys(num,den)
5、 自行利用MATLAB命令求取以下系统传递函数,并记录下结果。
3
《自动控制原理(机械)》实验指导书
X(s) ??10s?1??2s(s?1)Y(s) s?2(s?3)5ss2?6s?8五、实验报告要求
1、 将各实验内容的要求写入实验报告。 2、 写出要求的实验程序。 3、 记录各命令运行后的结果 4、 写出开环系统和闭环系统的阶数。 5、 实验报告应手工填写。
六、实验注意事项
1、 应做好MATLAB预习
2、 应注意记录下每一命令和运行后的结果,并写入实验报告中。
七、思考题
1、 实验内容中的第5项系统的反馈是什么反馈? 2、 闭环系统的零、极点个数相等吗?各为多少?
4