1、成绩:目 录实验1 控制系统的模型建立2实验2 控制系统的暂态特性分析13实验4 系统的频率特性分析19实验6 极点配置与全维状态观测器的设计24实验1 控制系统的模型建立一、实验目的1. 掌握利用 MATLAB 建立控制系统模型的方法。 2. 掌握系统的各种模型表述及相互之间的转换关系。 3. 学习和掌握系统模型连接的等效变换。二、实验原理1、系统模型的MATLAB描述系统的模型描述了系统的输入、输出变量以及内部各变量之间的关系,表征一个系统的模型有很多种,如微分方程、传递函数、状态空间方程等。这里主要介绍系统多项式型传递函数(TF)模型、零极点型传递函数(ZPK)模型和状态空间方程(SS)
2、模型的 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)返回向量形式的分子分母多项式系
3、数(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
4、,p,k = zpkdata (Gzpk,v) 返回向量形式的零极点及增益 函数 pzmap 可用于求取系统的零极点或绘制系统的零极点图,调用格式如下:pzmap(G) 在复平面内绘出系统模型的零极点图。p,z = pzmap(G) 返回的系统零极点,不作图(3)状态空间(SS)模型由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成:其中:x为n维状态向量;u为r维输入向量;y为m维输出向量;A为 nn方阵,称为系统矩阵;B为nr矩阵,称为输入矩阵或控制矩阵;C为 mn矩阵,称为输出矩阵;D为mr矩阵,称为直接传输矩阵。在 MATLAB 中,直接用矩阵组A,B,C,D表示系统,
5、调用ss函数可以创建SS对象模型,调用格式如下: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)或 zp2
6、ss(z,p,k) SS 模型TF 模型:tf(SYS)或 ss2tf(A,B,C,D) SS 模型ZPK 模型:zpk(SYS)或 ss2zp(A,B,C,D)2、系统模型的连接在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连接、并联连接和反馈连接。图 1-2 分别为串联连接、并联连接和反馈连接的结构框图和等效总传递函数。在MATLAB中可以直接使用“*”运算符实现串联连接,使用“”运算符实现并联连接。反馈系统传递函数求解可以通过命令feedback实现,调用格式如下:T = feedback(G,H) T = feedback(G,H,sign) 其中,G为前向
7、传递函数,H为反馈传递函数;当 sign = +1 时,GH 为正反馈系统传递函数;当 sign = -1 时,GH 为负反馈系统传递函数;默认值是负反馈系统。三、实验内容及结果1. 已知控制系统的传递函数如下试用MATLAB建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。实验代码:%Eg_0_1_1num=2,18,40;den=1,5,8,6;Gtf=tf(num,den)%传递函数模型Gzpk=zpk(Gtf)%零极点增益模型Gss=ss(Gzpk)%状态空间模型pzmap(Gzpk);%绘制系统零极点图grid on;%显示网格线实验结果:Gtf =
8、 2 s2 + 18 s + 40 - s3 + 5 s2 + 8 s + 6Continuous-time transfer function. Gzpk = 2 (s+5) (s+4) - (s+3) (s2 + 2s + 2)Continuous-time zero/pole/gain model. Gss = A = x1 x2 x3 x1 -1 1 0 x2 -1 -1 2.515 x3 0 0 -3 B = u1 x1 0 x2 1.778 x3 1.414 C = y1 3.374 1.125 0 D = u1 y1 0Continuous-time state-space mo
9、del. 2. 已知控制系统的状态空间方程如下试用 MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型, 并绘制系统零极点图。%Eg_0_1_2A=0,1,0,0;0,0,1,0;0,0,0,1;-1,-2,-3,-4;B=0;0;1;C=10,2,0,0;D=0; %D方程为空Gss=ss(A,B,C,D) %状态空间方程模型Gtf=tf(Gss) %传递函数模型Gzpk=zpk(Gtf) %零极点增益模型 %绘制系统零极点图 %显示网格线 x1 x2 x3 x4 x1 0 1 0 0 x2 0 0 1 0 x3 0 0 0 1 x4 -1 -2 -3 -4 x1
10、0 x2 0 x3 0 x4 1 y1 10 2 0 0 2 s + 10 - s4 + 4 s3 + 3 s2 + 2 s + 1 2 (s+5) - (s+3.234) (s+0.6724) (s2 + 0.0936s + 0.4599)3. 已知三个系统的传递函数分别为试用 MATLAB 求上述三个系统串联后的总传递函数。%Eg_0_1_3num1=2,6,5;den1=1,4,5,2;G1tf=tf(num1,den1)%表示G1,传递函数模型num2=1,4,1;den2=1,9,8,0;G2tf=tf(num2,den2) %表示G2,传递函数模型z3=-3,-7;p3=-1,-4
11、,-6;k3=5;G3zpk=zpk(z3,p3,k3) %表示G3,零极点增益模型G=G1tf*G2tf*G3zpk;%表示串联总函数GGtf=tf(G) %G转化为传递函数模型G1tf = 2 s2 + 6 s + 5 s3 + 4 s2 + 5 s + 2G2tf = s2 + 4 s + 1 - s3 + 9 s2 + 8 sContinuous-time transfer function.G3zpk = 5 (s+3) (s+7) (s+1) (s+4) (s+6)Continuous-time zero/pole/gain model. 10 s6 + 170 s5 + 1065 s4 + 3150 s3 + 4580 s2 + 2980 s + 525
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1