本科实验报告
实验名称:控制理论基础(实验)
课程名称: 任课教师: 实验教师: 学生姓名: 学号/班级: 学 院: 专 业: 控制理论基础 王卫江 闫宇松 王雅珊 1120131319/05111361 信息与电子学院 信息工程菁英班 实验时间: 2016.4.25-5.19 实验地点: 实验类型: 组 号: 同组搭档: 成 绩: 10-906 ■ 原理验证 □ 综合设计 □ 自主创新
实验一:控制系统的模型建立
一、实验目的
1. 掌握利用MATLAB 建立控制系统模型的方法。
2. 掌握系统的各种模型表述及相互之间的转换关系。 3. 学习和掌握系统模型连接的等效变换。
二、实验原理
1、系统模型的 MATLAB描述
系统的模型描述了系统的输入、输出变量以及内部各变量之间的关系,表征一个系统的模型有很多种,如微分方程、传递函数模型、状态空间模型等。这里主要介绍系统传递函数(TF)模型、零极点增益(ZPK)模型和状态空间(SS)模型的MATLAB 描述方法。 1)传递函数(TF)模型
传递函数是描述线性定常系统输入-输出关系的一种最常用的数学模型,其表达式一般为
在MATLAB 中,直接使用分子分母多项式的行向量表示系统,即 num = [bm, bm-1, ? b1, b0] den = [an, an-1, ? a1, a0]
调用tf 函数可以建立传递函数TF对象模型,调用格式如下: Gtf = tf(num,den)
Tfdata 函数可以从TF对象模型中提取分子分母多项式,调用格式如下: [num,den] = tfdata(Gtf) 返回cell 类型的分子分母多项式系数 [num,den] = tfdata(Gtf,'v') 返回向量形式的分子分母多项式系数 2)零极点增益(ZPK)模型
传递函数因式分解后可以写成
式中, z1 , z2 , ?,zm 称为传递函数的零点, p1,p2,?,pn称为传递函数的极点,k 为传递系数(系统增益)。
在MATLAB 中,直接用[z,p,k]矢量组表示系统,其中z,p,k 分别表示系统的零极点及其增益,即:
z=[z1,z2,?,zm]; p=[p1,p2,?,pn]; k=[k];
调用zpk 函数可以创建ZPK 对象模型,调用格式如下: Gzpk = zpk(z,p,k)
同样,MATLAB 提供了zpkdata 命令用来提取系统的零极点及其增益,调用格式如下: [z,p,k] = zpkdata(Gzpk) 返回cell 类型的零极点及增益
[z,p,k] = zpkdata (Gzpk,’v’) 返回向量形式的零极点及增益
函数pzmap 可用于求取系统的零极点或绘制系统得零极点图,调用格式如下: pzmap(G) 在复平面内绘出系统模型的零极点图。 [p,z] = pzmap(G) 返回的系统零极点,不作图。 3)状态空间(SS)模型
由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成:
其中:x 为n 维状态向量;u 为r 维输入向量; y 为m 维输出向量; A 为n×n 方阵,称为系统矩阵; B 为n×r 矩阵,称为输入矩阵或控制矩阵;C 为m×n 矩阵,称为输出矩阵; D为m×r 矩阵,称为直接传输矩阵。 在MATLAB 中,直接用矩阵组[A,B,C,D]表示系统,调用ss 函数可以创建ZPK 对象模型,调用格式如下: Gss = ss(A,B,C,D)
同样,MATLAB 提供了ssdata 命令用来提取系统的A、B、C、D 矩阵,调用格式如下: [A,B,C,D] = ssdata (Gss) 返回系统模型的A、B、C、D 矩阵 4)三种模型之间的转换
上述三种模型之间可以互相转换,MATLAB 实现方法如下 TF 模型→ZPK 模型:zpk(SYS)或tf2zp(num,den) TF 模型→SS 模型:ss(SYS)或tf2ss(num,den) ZPK 模型→TF 模型:tf(SYS)或zp2tf(z,p,k) ZPK 模型→SS 模型:ss(SYS)或zp2ss(z,p,k) SS 模型→TF 模型:tf(SYS)或ss2tf(A,B,C,D) SS 模型→ZPK 模型:zpk(SYS)或ss2zp(A,B,C,D) 2、系统模型的连接
在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连接、并联连接和反馈连接。下图分别为串联连接、并联连接和反馈连接的结构框图和等效总传递函数。
在MATLAB 中可以直接使用“*”运算符实现串联连接,使用“+”运算符实现并联连接。反馈系统传递函数求解可以通过命令feedback 实现,调用格式如下:
T = feedback(G,H)
T = feedback(G,H,sign)
其中,G 为前向传递函数,H 为反馈传递函数;当sign = +1 时,GH 为正反馈系统传递函数;当sign = -1 时,GH 为负反馈系统传递函数;默认值是负反馈系统。
三、实验内容
1、已知控制系统的传递函数如下
试用MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。 实验代码:
num=[2 18 40];
den=[1 5 8 6]; %描述系统的传递函数模型的分子分母多项式系数向量 Gtf=tf(num,den) ;%调用tf函数建立系统模型
Gzpk=zpk(Gtf) ; %调用zpk函数,实现从函数模型到零极点增益模型的转换 Gss=ss(Gtf) ; %调用ss函数建立系统模型 pzmap(Gzpk); grid on;
实验结果:
(1)首先建立系统的传递函数模型描述,上述程序的运行结果为: Gtf =
2 s^2 + 18 s + 40 --------------------- s^3 + 5 s^2 + 8 s + 6
(2)零极点增益模型为: Gzpk =
2 (s+5) (s+4) -------------------- (s+3) (s^2 + 2s + 2)
(3)系统的状态空间方程模型 Gss =
a =
x1 x2 x3 x1 -5 -2 -1.5 x2 4 0 0 x3 0 1 0
b = u1 x1 4 x2 0 x3 0
c =
x1 x2 x3
y1 0.5 1.125 2.5
d = u1 y1 0
(4)系统零极点图
2、已知控制系统的状态空间方程如下
试用MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。 实验代码:
a=[0 1 0 0;0 0 1 0;0 0 0 1;-1 -2 -3 -4]; b=[0;0;0;1]; c=[10 2 0 0];
d=[0]; %写出系统的A、B、C、D矩阵 Gss=ss(a,b,c,d); %调用ss函数建立系统模型 Gtf=tf(Gss) ; %调用tf函数建立系统模型
Gzpk=(Gss); %调用zpk函数,实现从函数模型到零极点增益模型的转换 pzmap(Gzpk); grid on;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库北理工自动控制理论实验报告在线全文阅读。
相关推荐: