4.0 matlab控制系统数学描述与建模_第1页
4.0 matlab控制系统数学描述与建模_第2页
4.0 matlab控制系统数学描述与建模_第3页
4.0 matlab控制系统数学描述与建模_第4页
4.0 matlab控制系统数学描述与建模_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第四部分控制系统的数学描述与建模控制系统matlab仿真制作:东流水1引言

控制系统的数学模型在控制系统的研究中有着相当重要的地位。 要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。 同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。2

工业生产中的实际系统绝大多数是物理系统,系统中的变量都是一些具体的物理量,如电压、电流、压力、温度、速度、位移等等,这些物理量是随时间连续变化的,称之为连续系统; 若系统中物理量是随时间断续变化的,如计算机控制、数字控制、采样控制等,则称为离散(或采样)系统。 采用计算机仿真来分析和设计控制系统,首要问题是建立合理地描述系统中各物理量变化的动力学方程,并根据仿真需要,抽象为不同表达形式的系统数学模型。3

在线性系统理论中,一般常用的数学模型形式有:

传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相互进行转换。4主要内容

控制系统分类线性定常连续系统微分方程模型传递函数描述状态空间描述控制系统模型的转换控制系统模型的连接

simulink结构图化简控制系统模型5

按系统性能分:线性系统和非线性系统;连续系统和离散系统;定常系统和时变系统;确定系统和不确定系统。1、线性连续系统:用线性微分方程式来描述,如果微分方程的系数为常数,则为定常系统;如果系数随时间而变化,则为时变系统。今后我们所讨论的系统主要以线性定常连续系统为主。2、线性定常离散系统:离散系统指系统的某处或多处的信号为脉冲序列或数码形式。这类系统用差分方程来描述。3、非线性系统:系统中有一个元部件的输入输出特性为非线性的系统。一系统的分类6微分方程是控制系统模型的基础,一般来讲,利用机械学、电学、力学等物理规律,便可以得到控制系统的动态方程,这些方程对于线性定常连续系统而言是一种常系数的线性微分方程。如果已知输入量及变量的初始条件,对微分方程进行求解,就可以得到系统输出量的表达式,并由此对系统进行性能分析。通过拉氏变换和反变换,可以得到线性定常系统的解析解,这种方法通常只适用于常系数的线性微分方程,解析解是精确的,然而通常寻找解析解是困难的。MATLAB提供了ode23、ode45等微分方程的数值解法函数,不仅适用于线性定常系统,也适用于非线性及时变系统。二线性定常连续系统微分方程模型7

设线性定常系统输入、输出量是单变量,分别为u(t)、y(t),则两者间的关系总可以描述为线性常系数高阶微分方程形式

式中,n为系统输出变量导数的最高阶次;m为系统输入变量导数的最高阶次,通常总有m<=

n。式A线性常系数高阶微分方程形式8

对式A数学模型,可以用以下模型参数形式表征:输出系数向量

A=[a0,a1,…,an],n+1维输入系数向量

B=[b0,b1,…,bm],m+1维

有了这样一组模型参数,就可以简便地表达出一个连续系统的微分方程形式。模型参数形式表征9

对线性定常系统,式中s的系数均为常数,且a0不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示:

num=[b0,b1,…,bm],

den=[a0,a1,…,an]一、连续系统的传递函数模型 将式A在零初始条件下,两边同时进行拉氏变换,则有连续系统的传递函数如下:三传递函数描述10

当a0=1时,分子多项式成为 称为系统的首一特征多项式,是控制系统常用的标准表达形式,于是相应的模型参数中,分母系数向量只用n维分量即可表示出,即

A=[a1,a2,…,an],n维11例:已知系统传递函数为

利用MATLAB将上述模型表示出来,并将其建立在工作空间中。12例:已知系统传递函数:

利用MATLAB将上述模型表示出来。13例:传递函数描述1)>>num=[12,24,0,20];den=[24622];2)借助多项式乘法函数conv来处理:》num=4*conv([1,2],conv([1,6,6],[1,6,6]));》den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5]))));14

零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。零极点增益模型[z,p,K]

:z=[z1,z2,…,zm];

p=[p1,p2,...,pn];K=[k]二、零极点增益模型K为系统增益,zi为零点,pj为极点函数tf2zp()可以用来求传递函数的零极点和增益。15例:求零极点增益模型

》num=[1,11,30,0];》den=[1,9,45,87,50];[z,p,k]=tf2zp(num,den)》z=0-6-5p=k=1结果表达式:16例:已知系统传递函数为利用MATLAB将上述模型表示出来。>>z=-20;>>p=[0-4.6-1];

>>k=5;>>sys=zpk([z],[p],[k])Zero/pole/gain:5(s+20)---------------s(s+4.6)(s+1)17

分析控制系统过程中,经常要求对系统函数进行分解,使其表现为一些基本控制单元的和的形式。 传递函数表示成为部分分式形式

式中,pi(i=1,2,…,n)为该系统的n个极点,与零极点形式的n个极点是一致的,rj(j=1,2,…,n)是对应各极点的留数;h(s)则表示传递函数分子多项式除以分母多项式的余式,若分子多项式阶次与分母多项式相等,h为标量,若分子多项式阶次小于分母多项式阶次,该项不存在。三、部分分式展开18

极点留数向量R=[r1,r2,…,rn],n维,系统极点向量P=[p1,p2,…,pn],n维;余式系数向量H=[h1,h2,…,hl],l十1维,且l=m-n,原函数中分子大于分母阶次的余式系数。l<0时,该向量不存在;简记为(R,P,H)形式。[r,p,k]=residue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式。[b,a]=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。模型参数表示19部分分式展开:》num=[2,0,9,1];》den=[1,1,4,4];[r,p,k]=residue(num,den)》p=k=2r=结果表达式:20

状态方程与输出方程的组合称为状态空间表达式,又称为动态方程; 经典控制理论用传递函数将输入—输出关系表达出来; 现代控制理论则用状态方程和输出方程来表达输入—输出关系,揭示了系统内部状态对系统性能的影响。四 状态空间描述21

当控制系统输入U(t)

、输出为多变量Y(t)时,由现代控制理论可知,总可以通过系统内部变量之间的转换设立状态向量X(t),系统表达为状态方程形式u为输入向量(m维);y为输出向量(r维)x状态向量(n维)。

状态方程形式22

在MATLAB中,系统状态空间用(A,B,C,D)矩阵组表示:

系统系数矩阵A(n×n维)

系统输入矩阵B(n×m维)

系统输出矩阵C(r×n维)

直接传输矩阵D(r×m维)

状态初始向量X0(n维)简记为(A,B,C,D)形式。应当指出,控制系统状态方程的表达形式不是唯一的。通常可根据不同的仿真分析要求而建立不同形式的状态方程,如能控标推型、能观标准型、约当型等。23》A=[1,6,9,10;3,12,6,8;4,7,9,11;5,12,13,14];》B=[4,6;2,4;2,2;1,0];》C=[0,0,2,1;8,0,2,2];》D=zeros(2,2);举例:一个两输入两输出系统24五控制系统模型的转换

在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。以上所述的几种数学模型可以相互转换,以适应不同的仿真分析要求。

25

首先生成任一指定的模型对象(tf,ss,zpk),然后将该模型对象类作为输入,调用欲转换的模型函数即可。例如:欲将传递函数转换为状态空间模型sys=tf(num,den);%生成传递函数模型。[a,b,c,d]=ss(sys);%将传递函数模型作为状态空间模型的输入。MATLAB实现模型转换有两种不同的方式:方式1:简单的模型转换26

连续模型之间三种形式的数学模型相互转换函数类型包括tf2ss,ss2tf,zp2tf、tf2zp,ss2zp、zp2ss,共六个函数。传递函数模型、零极点增益模型和状态空间模型之间模型转换函数如图所示。方式2:直接调用模型转换函数27

微分方程的模型参数向量与传递函数的模型参数向量完全一样,所以微分方程模型在仿真中总是用其对应的传递函数模型来描述。(一)

微分方程与传递函数形式28

传递函数转化为零极点增益表示形式的关键,实际上取决于如何求取传递函数分子、分母多项式的根。令

则两式分别有m个和n个相应的根zi(i=1,2,…,m)和pj(j=1,2,…,n),此即为系统的m个零点和n个极点。

(二)

传递函数与零极点增益形式29[Z,P,K]=tf2zp(num,den)

表示将分子、分母多项式系数向量为num,den的传递函数模型参数经运算返回左端式中的相应变元,形成零、极点表示形式的模型参数向量Z、P、K。[num,den]=zp2tf(Z,P,K)

表示将零、极点增益形式表为传递函数有理多项式形式。

传递函数形式与零极点增益形式之间的相互转换的函数tf2zp()和zp2tf()30对于单变量系统,状态方程为可得

关键在于

的求取。

(三)

状态方程与传递函数或零极点增益形式31[num,den]=ss2tf(A,B,C,D)

表示把描述为(A,B,C,D)的系统状态方程模型参数各矩阵转换为传递函数模型参数各向量。左式的num即为转换函数返回的分子多项式参数向量;den即为转换函数返回的分母多项式参数向量。

(A,B,C,D)=tf2ss(num,den)

是上述过程的逆过程,由已知的(num,den)经模型转换返回状态方程各参数矩阵(A,B,C,D)。

ss2tf()和tf2ss()

注:由于同一传递函数的状态方程实现不唯一,故上述的转换函数只能实现可控标准型状态方程。32

用以完成状态方程和零极点增益模型相互转换的功能函数。语句格式为:[Z,P,K]=ss2zp(A,B,C,D)(A,B,C,D)=zp2ss[Z,P,K]ss2zp()和zp2ss()33

传递函数转化为部分分式,关键在于求取各分式的分子待定系数,即下式中的ri(i=1,2,…n):

单极点情况下,该待定系数可用以下极点留数的求取公式得到

(四)部分分式与传递函数或零极点增益形式34[R,P,H]=residue(num,den)[num,den]=residue(R,P,H)

就是用来将传递函数形式与部分分式形式的数学模型相互转换的函数。35模型转换的函数包括:residue:传递函数模型与部分分式模型互换ss2tf:状态空间模型转换为传递函数模型ss2zp:状态空间模型转换为零极点增益模型tf2ss:传递函数模型转换为状态空间模型tf2zp:传递函数模型转换为零极点增益模型zp2ss:零极点增益模型转换为状态空间模型zp2tf:零极点增益模型转换为传递函数模型总结36%转换为传递函数模型:》A=[01;-1-2];B=[0;1];》C=[1,3];D=[1];》[num,den]=ss2tf(A,B,C,D,iu)%iu用来指定第n个输入,当只有一个输入时可忽略。》num=152;den=121;用法举例:%转换为零极点增益模型:》[z,p,k]=ss2zp(A,B,C,D,iu)》z=-4.5616p=-1k=1-0.4384-11)系统状态空间模型为:372)已知一个单输入三输出系统的传递函数模型为:%转换为状态空间模型》num=[00-2;0-1-5;120];den=[16116];》[A,B,C,D]=tf2ss(num,den)》A=-6-11-6B=1C=00-2D=010000-1-500100120038%转换为传递函数模型:》z=[-3];p=[-1,-2,-5];k=6;》[num,den]=zp2tf(z,p,k)》num=00618den=181710%转换为状态空间模型:》[a,b,c,d]=zp2ss(z,p,k)》a=-1.000000b=12.0000-7.0000-3.1623103.162300c=001.8974d=03)系统的零极点增益模型:注意:零极点的输入可以写出行向量,也可以写出列向量。394)已知部分分式:%转换为传递函数模型:》r=[-0.25i,0.25i,-2];》p=[2i,-2i,-1];k=2;》[num,den]=residue(r,p,k)》num=2091》den=1144注意余式一定要与极点相对应。401、并联:parallel%功能:并联连接两个系统。既适合于连续时间系统,也适合于离散时间系统。[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2)可得到系统1和系统2并联的状态空间表示的系统,其输出为y=y1+y2,其输入连接在一起,并作为系统输入,如图所示。六控制系统模型的连接41inp1和inp2分别指定两系统中要连接在一起的输入端编号,从u1,u2,…,un依次编号为1,2,…,n;

out1和out2分别指定要作相加的输出端编号,编号方式与输入类似。[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2,inp1,inp2,out1,out2)

%可将系统1和系统2按图示方式连接。

如inp1=1,inp2=3表示系统1的第一个输入端与系统2的第三个输入端相连接。若inp1=[13],inp2=[21]则表示系统1的第一个输入与系统2的第二个输入连接,以及系统1的第三个输入与系统2的第一个输入连接。42[num,den]=parallel(num1,den1,num2,den2)

%功能:将并联连接的传递函数进行相加,得到并联连接的传递函数表示系统,其结果为

432、串联:series[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2)

%将系统1的所有输出连到系统2的输入上,即u2=y1。由此得到的系统为:

44[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2,out1,in2)%out1和in2分别指定系统1的部分输出和系统2的部分输入进行连接。[num,den]=series(num1,den1,num2,den2)

%将串联连接的传递函数进行相乘。得到函数:453、反馈:feedback

[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2)%将两个系统按反馈方式连接,如图。一般而言,系统1为对象,系统2为反馈控制器。Feedback函数既适合于连续系统,也适合于离散系统。46[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)%系统1的所有输出连接到系统2的输入,系统2的所有输出连接到系统1的输入,sign用来指示系统2输出到系统1输入的连接符号,sign缺省时,默认为负,即sign=-1。总系统的输入/输出数等同于系统1。连接产生的系统为:其中47[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,inp1,out1)

%部分反馈连接,将系统1的指定输出out1连接到系统2的输入,系统2的输出连接到系统1的指定输入inp1,以此构成闭环系统。[num,den]=feedback(num1,den1,num2,den2,sign)%可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。sign的含义与前述相同。484、闭环:cloop(单位反馈)

[ac,bc,cc,dc]=cloop(a,b,c,d,sign)

% 通过将所有的输出反馈到输入,从而产生闭环系统的状态空间模型。当sign=1时采用正反馈;当sign=-1时采用负反馈;sign缺省时,默认为负反馈。[ac,bc,cc,dc]=cloop(a,b,c,d,outputs,inputs)% 表示将指定的输出outputs反馈到指定的输入inputs

温馨提示

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

评论

0/150

提交评论