1 / 30

控制系统的数学描述与建模

控制系统的数学描述与建模. MATLAB 技术应用. 控制系统的数学模型在控制系统的研究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。 在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相互进行转换。. 控制系统的数学描述与建模.

wayde
Download Presentation

控制系统的数学描述与建模

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 控制系统的数学描述与建模 MATLAB技术应用

  2. 控制系统的数学模型在控制系统的研究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。控制系统的数学模型在控制系统的研究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。 在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相互进行转换。 控制系统的数学描述与建模

  3. 按系统性能分:线性系统和非线性系统;连续系统和离散系统;定常系统和时变系统;确定系统和不确定系统。按系统性能分:线性系统和非线性系统;连续系统和离散系统;定常系统和时变系统;确定系统和不确定系统。 线性连续系统:用线性微分方程式来描述,如果微分方程的系数为常数,则为定常系统;如果系数随时间而变化,则为时变系统。今后我们所讨论的系统主要以线性定常连续系统为主。 线性定常离散系统:离散系统指系统的某处或多处的信号为脉冲序列或数码形式。这类系统用差分方程来描述。 非线性系统:系统中有一个元部件的输入输出特性为非线性的系统。 系统的分类

  4. 微分方程是控制系统模型的基础,一般来讲,利用机械学、电学、力学等物理规律,便可以得到控制系统的动态方程,这些方程对于线性定常连续系统而言是一种常系数的线性微分方程。微分方程是控制系统模型的基础,一般来讲,利用机械学、电学、力学等物理规律,便可以得到控制系统的动态方程,这些方程对于线性定常连续系统而言是一种常系数的线性微分方程。 如果已知输入量及变量的初始条件,对微分方程进行求解,就可以得到系统输出量的表达式,并由此对系统进行性能分析。 通过拉氏变换和反变换,可以得到线性定常系统的解析解,这种方法通常只适用于常系数的线性微分方程,解析解是精确的,然而通常寻找解析解是困难的。MATLAB提供了ode23、ode45等微分方程的数值解法函数,不仅适用于线性定常系统,也适用于非线性及时变系统。 线性定常连续系统的微分方程模型

  5. 电路图如图,R=1.4欧,L=2亨,C=0.32法,初始状态:电感电流为零,电容电压为0.5V,t=0时刻接入1V的电压,求0<t<15s时,i(t),vo(t)的值,并且画出电流与电容电压的关系曲线。电路图如图,R=1.4欧,L=2亨,C=0.32法,初始状态:电感电流为零,电容电压为0.5V,t=0时刻接入1V的电压,求0<t<15s时,i(t),vo(t)的值,并且画出电流与电容电压的关系曲线。

  6. 对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。 num=[b1,b2,…,bm,bm+1] den=[a1,a2,…,an,an+1] 注意:它们都是按s的降幂进行排列的。 传递函数描述 连续系统的传递函数模型 连续系统的传递函数如下:

  7. 传递函数 • MATLAB中创建传递函数(TF)对象 • 创建两个行向量,按降阶顺序分别包含分子和分母多项式中s各次幂的系数 • 使用tf命令建立TF对象 例如: >> numG=[4 3];denG=[1 6 5]; >> G1=tf(numG,denG) 或 >> G1=tf([4 3],[1 5 6])

  8. 零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。 零极点增益模型 K为系统增益,zi为零点,pj为极点 • 在MATLAB中零极点增益模型用[z,p,K]矢量组表示。即: • z=[z1,z2,…,zm] • p=[p1,p2,...,pn] • K=[k] • 函数tf2zp()可以用来求传递函数的零极点和增益。

  9. 零极点增益模型 • 零点、极点、增益形式(ZPK)表示 • 输入零点和极点列向量及标量形式的增益 • 使用zpk命令建立ZPK对象 例: >> zG=-0.75;pG=[-1;-5];kG=4; >> G2=zpk(zG,pG,kG) 或者: >> G2=zpk(-0.75,[-1;-5],4)

  10. 传递函数 两种形式互换 • TF形式变换为ZPK形式 • Gzpk=zpk(Gtf) • [zz,pp,kk]=zpkdata(Gzpk,’v’) • %获得G(s)的零点、极点和增益 • ZPK形式变换为TF形式 • Svv=tf(Sxx) • [nn,dd]=tfdata(Svv,’v’) • %获得分子分母多项式系数

  11. 控制系统常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。控制系统常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。 [resG,polG,otherG]=residue(numG,denG) resG留数 polG极点 otherG 常数函数[r,p,k]=residue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式。 向量b和a是按s的降幂排列的多项式系数。部分分式展开后,余数返回到向量r,极点返回到列向量p,常数项返回到k。 [b,a]=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。 部分分式展开

  12. 1) 》num=[12,24,0,20];den=[2 4 6 2 2]; 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])))); 举例:传递函数描述

  13. 零极点增益模型: 》num=[1,11,30,0]; 》den=[1,9,45,87,50]; [z,p,k]=tf2zp(num,den) 》 p= -3.0000+4.0000i -3.0000-4.0000i -2.0000 -1.0000 k= 1 z= 0 -6 -5 结果表达式:

  14. 部分分式展开: 》num=[2,0,9,1]; 》den=[1,1,4,4]; [r,p,k]=residue(num,den) 》 r= 0.0000-0.2500i 0.0000+0.2500i -2.0000 p= 0.0000+2.0000i 0.0000-2.0000i -1.0000 k= 2 结果表达式:

  15. 状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,经典控制理论用传递函数将输入—输出关系表达出来,而现代控制理论则用状态方程和输出方程来表达输入—输出关系,揭示了系统内部状态对系统性能的影响。状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,经典控制理论用传递函数将输入—输出关系表达出来,而现代控制理论则用状态方程和输出方程来表达输入—输出关系,揭示了系统内部状态对系统性能的影响。 状态空间描述 • 在MATLAB中,系统状态空间用(A,B,C,D)矩阵组表示。

  16. 系统为一个两输入两输出系统: 》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); 举例

  17. 在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。 模型转换的函数包括: residue:传递函数模型与部分分式模型互换 ss2tf: 状态空间模型转换为传递函数模型 ss2zp: 状态空间模型转换为零极点增益模型 tf2ss: 传递函数模型转换为状态空间模型 tf2zp: 传递函数模型转换为零极点增益模型 zp2ss: 零极点增益模型转换为状态空间模型 zp2tf: 零极点增益模型转换为传递函数模型 模型的转换与连接 • 模型的转换

  18. 已知系统状态空间模型为: 》A=[0 1; -1 -2]; B=[0;1]; 》C=[1,3]; D=[1]; 》[num,den]=ss2tf(A,B,C,D,iu) %iu用来指定第n个输入,当只有一个输入时可忽略。 》num=1 5 2; den=1 2 1; 》[z,p,k]=ss2zp(A,B,C,D,iu) 》z= -4.5616 p= -1 k=1 -0.4384 -1 用法举例

  19. 已知一个单输入三输出系统的传递函数模型为:已知一个单输入三输出系统的传递函数模型为: 》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

  20. 系统的零极点增益模型: 》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 -3.1623 1 0 3.1623 0 0 c= 0 0 1.8974 d=0 • 注意:零极点的输入可以写出行向量,也可以写出列向量。

  21. 已知部分分式: 》r=[-0.25i,0.25i,-2]; 》p=[2i,-2i,-1];k=2; 》[num,den]=residue(r,p,k) 》num= 2 0 9 1 》den= 1 1 4 4 注意余式一定要与极点相对应。

  22. 1、并联:parallel 格式:[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2) %并联连接两个状态空间系统。 [a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2,inp1,inp2,out1,out2) %inp1和inp2分别指定两系统中要连接在一起的输入端编号,从u1,u2,…,un依次编号为1,2,…,n; out1和out2分别指定要作相加的输出端编号,编号方式与输入类似。inp1和inp2既可以是标量也可以是向量。out1和out2用法与之相同。如inp1=1,inp2=3表示系统1的第一个输入端与系统2的第三个输入端相连接。 若inp1=[1 3],inp2=[2 1]则表示系统1的第一个输入与系统2的第二个输入连接,以及系统1的第三个输入与系统2的第一个输入连接。 [num,den]=parallel(num1,den1,num2,den2) %将并联连接的传递函数进行相加。 模型的连接

  23. 用重载符号+ T(s)=G1(s)+G2(s)

  24. 2、串联:series 格式:[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2) %串联连接两个状态空间系统。 [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) %将串联连接的传递函数进行相乘。

  25. 用重载符号* T(s)=G1(s)*G2(s)

  26. 3、反馈:feedback 格式:[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2) • %将两个系统按反馈方式连接,一般而言,系统1为对象,系统2为反馈控制器。 [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。 [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的含义与前述相同。

  27. T=feedback(G,H)

  28. 4、闭环: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,以此构成闭环系统的状态空间模型。一般为正反馈,形成负反馈时应在inputs中采用负值。 [numc,denc]=cloop(num,den,sign) • %表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同。

  29. ctrb和obsv函数可以求出状态空间系统的可控性和可观性矩阵。ctrb和obsv函数可以求出状态空间系统的可控性和可观性矩阵。 格式:co=ctrb(a,b) ob=obsv(a,c) 对于n×n矩阵a,n×m矩阵b和p×n矩阵c ctrb(a,b)可以得到n×nm的可控性矩阵 co=[b ab a2b … an-1b] obsv(a,c)可以得到nm×n的可观性矩阵 ob=[c ca ca2 … can-1]’ 当co的秩为n时,系统可控;当ob的秩为n时,系统可观。 模型的属性

  30. 在进行控制系统的仿真之前,建立系统的模型表达式是关键的一步。在进行控制系统的仿真之前,建立系统的模型表达式是关键的一步。 对于控制系统,有不同的分类,在本课程中主要讨论的是线性定常连续系统 系统的描述有不同的方法:微分方程;传递函数;零极点增益模式;部分分式展开;状态空间模型等。 系统的模型之间可以相互转换,要求熟练掌握各种模型之间转换的命令。 模型之间可以进行连接,要求掌握常用的模型连接命令:串联、并联、反馈及闭环。 本章小结

More Related