第3章 控制系统的数学模型及其转换.ppt_第1页
第3章 控制系统的数学模型及其转换.ppt_第2页
第3章 控制系统的数学模型及其转换.ppt_第3页
第3章 控制系统的数学模型及其转换.ppt_第4页
第3章 控制系统的数学模型及其转换.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章:控制系统的数学模型及其转换,在线性系统理论中,一般常用的数学模型形式有: 传递函数模型(系统的外部模型) 状态方程模型(系统的内部模型) 零极点增益模型(传递函数模型的一种) 这些模型之间都有着内在的联系,可以相互进行转换。,按系统性能分:线性系统和非线性系统;连续系统和离散系统;定常系统和时变系统;确定系统和不确定系统。 1、线性连续系统:用线性微分方程式来描述,如果微分方程的系数为常数,则为定常系统;如果系数随时间而变化,则为时变系统。今后我们所讨论的系统主要以线性定常连续系统为主。 2、线性定常离散系统:离散系统指系统的某处或多处的信号为脉冲序列或数码形式。这类系统用差分方程来描

2、述。 3、非线性系统:系统中有一个元部件的输入输出特性为非线性的系统。 下面来分析各种数学模型的MATLAB表示形式,3.1 系统的类型,对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。 num=b1,b2,bm,bm+1 den=a1,a2,an,an+1 注意:它们都是按s的降幂进行排列的。,3.2 传递函数描述,一、连续系统的传递函数模型 连续系统的传递函数如下:,(1)递函数的Maltab模型,num=b1,b2,bm,bm+1 den=a1,a2,an,an+1

3、可用命令tf()建立一个传递函数模型,或将 零极点增益模型或状态空间 模型转变为传递函数模型。,(2)传递函数模型命令tf()调用格式,sys=tf(num,den) sys=tf(mum,den,Ts)用于生成离散传体函数,Ts为采样时间。 sys=tf(M) 用于生成静态增益s传递函数, sys=tf(s) %用于生成拉普拉斯变量s的有理传递函数 tfsys=tf(sys)sys=tf(num,den,Property1,Value1, PropertyN,ValueN) :用于生成传递函数模型,同时定义传递函数的属性值。传递函数的属性值可用get(sys)命令来查看 例3.1,(3)多输

4、入多输出系统(MIMO)传递函数模型,对多输入多输出系统,分子、分母为元胞类型向量。 元胞数组:元胞数组的基本元素是元胞,元胞可以存放任何类型数据,而且同一个元胞数组的各元胞(cell)中的内容可以不同。元胞数组的定义符是 , 例:A=0 1,3;this is book,2 5。元胞数组元素内容的访问用 ,如:A1,1,结果得到0 1,或者使用单下标,如A2,结果是“this is book”。,例:给定一个多入多出系统: 试生成其仿真模型,解:命令如下: num =1 1;2 1 2; den=1 1,1 2;1,1 2; sys=tf(num,den),注意:元素sys(i,j)表示输入

5、j对输出i的传递函数。,(4)传递函数模型生成方法(二),利用拉普拉斯变量因子“s”直接生成传递函数模型。,例:已知传递函数模型如下,利用拉普拉斯变量因子“s”直接 生成传递函数模型。,解:命令如下: s=tf(s); %定义拉普拉斯变量s sys=(s+1)/(s*(s2+s+2),零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。,在MATLAB中零极点增益模型用z,p,K向量组表示。生成零极点增益模型的matlab函数为zpk(): z=z1,z2,zm p=p1,p2,.,pn K=k,二、零极点

6、增益模型,K为系统增益,zi为零点,pj为极点,(1)零极点增益模型zpk函数调用格式,syszpk(z,p,k) 生成零极点增益模型 syszpk(z,p,k,Ts) sys=zpk(M) 生成静态增益s传统函数 sys=zpk(s) 生成拉普拉斯因子s zsys=zpk(sys) %将传递函数、状态空间模型转换为零极点增益模型,1),例:建立下述传递函数模型的matlab表示,num=12,24,0,20;den=2 4 6 2 2;sys=tf(num,den),借助多项式乘法函数conv来处理: num=4*conv(1,2,conv(1,6,6,1,6,6); den=conv(1,

7、0,conv(1,1,conv(1,1,conv(1,1,1,3,2,5); sys=tf(num,den),2),3)零极点增益模型:,4)零极点增益模型:,z=; p=-1,-2,-3-4j,-3+4j; k=5; sys=zpk(z,p,k),z=-3,0; p=-1,50,-10; k=1; sys=zpk(z,p,k),例题3.5matlab表示 给出零极点增益模型,解:命令如下 z=;-0.5 p=0.3;0.1-j,0.1+j k=1;2 sys=zpk(z,p,k,),状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,经典控制理论用传递函数将输入输出关系表达出来,而现

8、代控制理论则用状态方程和输出方程来表达输入输出关系,揭示了系统内部状态对系统性能的影响。,(三)状态空间模型,在MATLAB中,系统状态空间用(A,B,C,D)矩阵组表示,函数为ss()。,(1)状态空间模型函数调用格式(1),Sys=ss(A,B,C,D) % 生成状态空间模型 Sys=ss(A,B,C,D,Ts) % 生成离散的状态空间模型 Sys_ss=ss(sys) % 将其它模型转换为状态空间模型 例3.7状态空间模型 用matlab表示,例: 系统为一个两输入两输出系统,A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14; B=4 6; 2 4;

9、2 2; 1 0; C=0 0 2 1; 8 0 2 2; D=zeros(2,2);,模型转换的函数包括: num,den=ss2tf(A,B,C,D): 状态空间模型转换为传递函数模型 z,p,k=ss2zp(A,B,C,D): 状态空间模型转换为零极点增益模型 A,B,C,D=tf2ss(num,den): 传递函数模型转换为状态空间模型 z,p,k=tf2zp(num,den): 传递函数模型转换为零极点增益模型 A,B,C,D=zp2ss(z,p,k) : 零极点增益模型转换为状态空间模型 num,denzp2tf(z,p,k): 零极点增益模型转换为传递函数模型,3.3模型的转换,

10、传递函数、状态空间、零极点模型之间转换示意图,用法举例: 1)已知系统状态空间模型为: A=0 1; -1 -2; B=0;1; C=1,3; D=1; num,den=ss2tf(A,B,C,D,iu) z,p,k=ss2zp(A,B,C,D,iu) iu用来指定第n个输入,当只有一个输入时可忽略。 num,den=ss2tf(A,B,C,D) num = 1.0000 5.0000 2.0000 den = 1 2 1 z,p,k=ss2zp(A,B,C,D) z= -4.5616 p= -1 k=1 -0.4384 -1,2)已知一个单输入三输出系统的传递函数模型如下,求其状态空间模型,

11、解: num=0 0 -2;0 -1 -5;1 2 0;den=1 6 11 6; A,B,C,D=tf2ss(num,den) A= -6 -11 -6 B= 1 C= 0 0 -2 D= 0 1 0 0 0 0 -1 -5 0 0 1 0 0 1 2 0 0,3)系统的零极点增益模型如下,试求其传递函数模型及状态空间模型:,解:命令如下: z=-3;p=-1,-2,-5;k=6; num,den=zp2tf(z,p,k) num= 0 0 6 18 den= 1 8 17 10 a,b,c,d=zp2ss(z,p,k) a= -1.0000 0 0 b=1 2.0000 -7.0000 -

12、3.1623 1 0 3.1623 0 0 c= 0 0 1.8974 d=0 注意:零极点的输入可以写成行向量,也可以写成列向量。,3.4、系统模型的连接,系统模型之间的并联分SISO系统模型的并联和MIMO系统模型的并联,1、并联:parallel,sys=parallel(sys1,sys2):两个SISO系统模型的并联 sys=parallel(sys1,sys2,in1,in2,out1,out2):生成两个MIMO系统的并联模型,并联输入端口由向量in1和in2定义,并联的输出端口由向量out1和out2定义。in1和out1对应sys1用于并联的输入、输出端口向量,in2和out

13、2对应sys2用于并联的输入、输出端口向量。,MALTAB提供了求取子系统模型并联的函数parallel(), 其调用格式如下:,【例】在上图所示的SISO系统并联模型结构中,已知sys1、sys2的传递函数分别为:,s=tf(s); %定义拉普拉斯变量s sys1=(s+1)/(s*(s2+s+2);%定义SISO系统sys1的传递函数模型 sys2=5/(5*s+1); %定义SISO系统的sys2的传递函数模型 disp(并联系统模型为) sys=parallel(sys1,sys2) %生成sys1与sys2的并联模型 执行上述命令后在Command Windows得如下结果: 并联系

14、统模型为 Transfer function: 5 s3 + 10 s2 + 16 s + 1 - 5 s4 + 6 s3 + 11 s2 + 2 s,2、串联:series,子系统之间的串连分SISO系统模型的串连和MIMO系统 模型的串连,函数调用格式: sys=series(sys1,sys2) :求SISO系统sys1和sys2的串连模型 sys=series(sys1,sys2,outputs1,inputs2) :求MIMO系统的串连,其中outputs1为sys1的输出端口数,inputs2为sys2的输入端口数。若MIMO系统有多个连接,在outputs1和inputs2为同维

15、数向量。,2、串联:series,在上图所示的SISO系统并联模型结构中,已知sys1、sys2的传递函数分别为:,G1=tf(1 1,1 1 2); G2=tf(5,2 1) Sys=series(G1,G2),Transfer function: 5 s + 5 - 2 s3 + 3 s2 + 5 s + 2,结果如下:,3、反馈:feedback,系统模型的反馈连接分SISO系统模型反馈连接和MIMO系统模型反馈连接,sys=feedback(sys1,sys2,sign):生SISO系统sys1与sys2构成的反馈系统传递函数模型,sys2为反馈通道传递函数模型,反馈类型由sign指定

16、,当sign=1为正反馈,当sign=-1为负反馈,此时sign可省略。 sys=feedback(sys1,sys2,feedin,feedout,sign):生成MIMO系统的部分反馈模型,feedin指定sys1中连入反馈回路的输入端口向量。Feedout指定sys1中连入反恐回路中的输出端口向量。,feedback()调用格式,注意:(1)在很多书籍中依然提到用cloop命令来生成闭环系统 模型,在MATLAB7.0以后的版本中,已经废除cloop命令, 其功能完全可以由feedback命令来代替。 (2)有关模型混合连接,建议采用Simulink仿真。,*3.5模型实现(本节课后自习

17、),Matlab提供的状态空间模型实现函数有: sysT=ss2ss(sys,T)相似变换 csys,T=canon(sys,type)状态空间的正则变换 Abar,Bbar,Cbar,T,k=ctrbf(A,B,C)可控阶梯形函数 Abar,Bbar,Cbar,T,k=obsvf(A,B,C)可观阶梯形函数 Csys=canon(sys,type)正则标准型 sysr=minreal(sys)最小实现和零极点相消 参数type可选modal(生成对角标准型) 或者companion (产生伴随矩阵型)。,所谓实现,就是根据描述系统输入输出关系的运动方程式 或传递函数模型建立系统的状态空间表达式,而且所求状 态空间模型保持原有的输入输出关系。,例(1):若已知系统状态方程为:,若选择已反对角矩阵,使得反对角线上元素均为1,其与元 素为0。求在这一变换矩阵下系统新的状态方程。,解:命令如下: A=0 1 0 0;0 0 1 0;0 0 0 1;-24 -50 -35 -10; B=0 0 0 1; C=24

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论