平顶山学院2012届本科毕业设计 MATLAB在自动控制理论实验中的应用
例2-4:num=[3 ,2 ,8] Den=[1 ,3 ,8 ,4 ,2 ]; G=tf(num,den) 运行结果:
2.1.2传递函数的零、极点表示
1 传递函数的零、极点表示
MATLAB中用行向量Z表示传递函数的零点,用行向量P表示传递函数的极点,用标量K表示传递函数的增益,Z、P和K唯一的决定了传递函数。 例2-5:Z=-1;
P=[0 ,-10,-100]; K=10;
G(S)?10(s?1)s(s?10)(s?100)
表示传递函数:
2 建立连续系统的零、极点传递函数 Sys=zpk(z,p,k) 例2-6:Z=[-1 ,-2]; P=[0 ,-5 ,-10]; K=10;
GZ=zpK(Z,P,K) 运行结果:
4
平顶山学院2012届本科毕业设计 MATLAB在自动控制理论实验中的应用
2.1.3结构图的化简
MATLAB还提供了方框图串联、并联和反馈连接的计算函数,有助于方框图的化简[7]。
例2-7:系统结构图如图2-1所示,求闭环系统的传递函数C(s)/R(s)。
0.5/(s+1) 1/(s+1) (s+2)/(s2+5) 2/(s+3)
图2-1 控制系统结构图
运用MATLAB语言编程如下: numl=[0.5];denl=[1 2]; num2=[1];den2=[1 1]; num3=[1 2];den3=[1 0 5]; num4=[2];den4=[1 3];
[nump,denp]=parallel(num2,den2,num3,den3); [nums,dens]=series(numl,denl,nump,denp); [num,den]=feedback(nums,dens,num4,den4,-1); Printsys(num,den) 运行程序后结果为:
5
平顶山学院2012届本科毕业设计 MATLAB在自动控制理论实验中的应用
2.2控制系统时域分析应用举例
对线性控制系统的分析,常常采用三种方法,即:时域分析法、根轨迹分析法和频域分析法,其中时域分析中的数学模型是微分方程,复域分析中的数学模型是传递函数,频域分析中的数学模型是频率特性[8] [9]。 系统三种描述方法的关系如图2-2所示:
S?P 微 分 方 程 传递函数 系 统 j??p 频 率 特 性
图2-2 三种系统描述之间的关系
2.2.1绘制响应曲线
自动控制系统时域分析法就是首先求出系统的响应表达式,然后利用响应表达式来求取系统的性能指标。我们利用MATLAB来辅助实验,就可以准确绘制系统的响应曲线,不仅可以直观、定性地观察系统的稳定性、暂态性能和稳态性能,而且也可以定量地求取其性能指标。在MATLAB中实现这一功能有3种方法:直接编程法;在Simulink模块中利用方框图的绘制和参数的设置来代替编程,直接建立系统的数学模型,然后对系统进行仿真;使用LTIViewer 工具箱(只适用于线性时不变系统)来观察系统的响应曲线。在这里我们先利用直接编程法。
(4s2?2s?1)例2-8 某垂直起飞飞机高度控制系统的开环传递函数为: G(s)?K122s(s?s?4)试确定使系统稳定的K1的取值范围。
6
平顶山学院2012届本科毕业设计 MATLAB在自动控制理论实验中的应用
本问题主要研究系统参数与系统稳定性的关系,首先利用劳斯稳定判据确定,当0.5362< K1 <0.9327时,闭环系统稳定,再利用MATLAB进行相应的验证,只需输入如下命令: %K= 0. 7时系统单位阶跃响应 k= 0.7; t= 0:0.2:120; figure
num= [ 4* k 2* k k] ; den= [ 1 1 4 4* k 2* k k]; step(num,den,t); grid;
仿真曲线如图2-3所示:
图2-3 系统的单位阶跃响应(K1?0.7)
%K= 0. 5时系统单位阶跃响应 k= 0.5; t= 0: 0.1: 70; figure
num= [ 4* k 2* k k];
7
平顶山学院2012届本科毕业设计 MATLAB在自动控制理论实验中的应用
den= [ 1 1 4 4* k 2* k k]; step(num,den,t); grid;
仿真曲线如图2-4所示:
图2-4 系统的单位阶跃响应(K1?0.5)
运行后得到系统的仿真曲线如图2-3、2-4,由图2-3、2-4知:当K1=0.7时,闭环系统稳定;当K1=0.5,闭环系统不稳定,图中还可以显示上升时间、峰值时间、超调量等性能指标,也可以点击曲线上任一点来求出该点的响应参数。
2.2.2用Simulink进行时域响应分析
先介绍一个比较复杂的水位自动保持恒定的供水控制系统的例子。 例2-9 如图2-5所示[10]:
8