matlab课件-第3章-控制系统的数学模型及其转换_第1页
matlab课件-第3章-控制系统的数学模型及其转换_第2页
matlab课件-第3章-控制系统的数学模型及其转换_第3页
matlab课件-第3章-控制系统的数学模型及其转换_第4页
matlab课件-第3章-控制系统的数学模型及其转换_第5页
已阅读5页,还剩189页未读 继续免费阅读

下载本文档

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

文档简介

第三章

控制系统的数学模型及其转换1/6/20231第三章

控制系统的数学模型及其转换1/6/20231本章内容利用MATLAB描述在控制系统中常见的几种数学模型;利用MATLAB实现任意数学模型之间的相互转换;利用MATLAB求解系统经过串联、并联和反馈连接后的系统模型;利用MATLAB获取一些典型系统的模型;利用MATLAB实现连续系统的离散化和离散系统的连续化;利用MATLAB求取系统的特性函数。1/6/20232本章内容利用MATLAB描述在控制系统中常见的几种数学模型控制系统计算机仿真是建立在控制系统数学模型基础之上的一门技术。对系统进行仿真,首先应该知道系统的数学模型,然后才可以在此基础上设计一个合适的控制器,使得原系统的响应达到预期的效果。在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)状态方程模型(系统的内部模型)零极点增益模型(传递函数模型的一种)这些模型之间都有着内在的联系,可以相互进行转换。1/6/20233控制系统计算机仿真是建立在控制系统数学模型基础之上的一门技术系统类型一.连续和离散系统根据系统自变量(时间)是连续变化还是离散变化,系统分为连续系统和离散系统。(1)连续系统——系统输入、输出信号都是连续时间信号。(2)离散系统——系统输入、输出信号都是离散时间信号。(3)混合系统——系统输入、输出信号包含连续信号和离散信号。连续时间的数学模型用微分方程描述。离散时间系统的数学模型用差分方程描述。例如:一般L、R、C电路都是连续时间系统。数字计算机是典型的离散时间系统。实际上离散时间系统经常与连续时间系统组合运用,此时称为混合系统(或采样系统)。如自动控制系统和数字通信系统。1/6/20234系统类型一.连续和离散系统根据系统自变量(时间)是连续变化还二.线性和非线性系统

根据输入输出关系是否同时满足齐次性和叠加性,系统分为线性和非线性。假设系统在没有外界信号作用之前处于静止状态,在输入信号为任意实数,和或和作用下,有式中,为输入输出之间函数关系。那么,该系统称为线性系统,否则是非线性系统。根据模型参数是否随时间变化,线性系统又可细分为线性定常系统和线性时变系统。参数不随时间变化的系统,称为时不变系统或定常系统,否则称为时变系统。例如,线性定常系统:1/6/20235二.线性和非线性系统根据输入输出关系是否同时满足齐线性时变系统:非线性定常系统:式中,分别为系统输入、输出。1/6/20236线性时变系统:非线性定常系统:式中,分别为系统输入、输出。1三.确定和随机系统

根据系统输入、输出和内部状态呈现的规律,系统分为确定性系统与随机性系统。输入输出之间函数关系能够用确定性模型描述的系统,称为确定性系统,否则称为随机系统(或不确定性系统)。在控制系统中,随机因素可能作用在系统的入口,也可能作用在系统的出口,还可能影响系统模型本身。例如噪声输入的随机控制系统,其微分方程具有如下形式。式中,分别为状态变量和输出变量,为输入噪声,通常是正态分布的白噪声。1/6/20237三.确定和随机系统根据系统输入、输出和内部状态呈控制系统常用数学模型

根据系统输入、输出与内部状态变量之间关系,控制系统模型可分为外部模型和内部模型。一般地,把建立系统输入输出关系的数学模型称为外部模型,包括时域模型和频域模型。把建立系统输入、输出与内部状态变量之间关系的数学模型称为内部模型,相应的数学模型称为系统的状态空间方程(连续状态空间方程或离散状态空间方程)。控制系统模型分类1/6/20238控制系统常用数学模型根据系统输入、输出与内部状态变量一.连续系统

1.微分方程一个连续系统可以表示成高阶微分方程,即式中,分别为系统输入量、输出量,n为系统的阶次,为系统的结构参数,结构参数,为输入函数的及各阶导数的初始值为它们均为实常数。已知输出变量控制系统常用数学模型

1/6/20239一.连续系统1.微分方程式中,分别为系统输入量、输出量 稍加整理,并记 2.传递函数若系统的初始条件为零,即系统在t=0时已处于一个稳定状态,那么对式(3.1)两边取拉普拉斯变换后可得称为系统的传递函数。1/6/202310 稍加整理,并记 2.传递函数称为系统的传递函数。1/6/3.状态空间描述

微分方程和传递函数都只描述了系统输入与输出之间的关系,而没有考虑系统内部状态的动态运动,仅仅实现系统输入与输出之间的关系是不够的,还必须复现模型的内部变量即状态变量的动态变化规律。状态空间描述考虑了“输入-状态-输出”这一过程,引进经典控制理论所忽略的中间内部状态,因此状态空间表达式能够完全反映系统的全部独立变量的变化,而且能够方便处理初始条件。1/6/2023113.状态空间描述1/6/202311在用状态空间法分析系统时,系统的动态特性是用由状态变量构成的一阶微分方程组来描述。状态空间表达式包括状态方程和输出方程。线性定常系统的状态空间描述为=AX+BU状态方程 (3.3)Y=CX+DU输出方程 (3.4)——维系统矩阵式中——维输入矩阵——维输出矩阵——维直接传递矩阵1/6/202312在用状态空间法分析系统时,系统的动态特性是用由状态

——r维输入向量,

——n维状态向量,——m维输出向量

1/6/202313——r维输入向量,——n维状态向量,——m维

对于线性时变系统,系数矩阵A,B,C,D,均与时间t有关,状态空间描述为系统的状态空间分析法是时域内的一种矩阵运算方法,不再只局限于输入量、输出量、误差量,为提高系统性能提供了有力工具。状态空间分析法特别适合于用计算机来计算,有利于把工程技术人员从烦琐的计算中解脱出来。1/6/202314对于线性时变系统,系数矩阵A,B,C,

二.离散系统1.差分方程设系统差分方程为(3.6)引进后移算子为

(3.7)控制系统常用数学模型

假设系统输入、输出及其内部状态变量均是时间序列,其中T

为离散时间间隔,为书写简便,用数学模型有3种形式。表示。与连续时间系统类似,离散时间系统1/6/202315二.离散系统1.差分方程(3.6)引进后移式(3.6)可写为(3.8)令则(3.9)1/6/202316式(3.6)可写为(3.8)令则(3.9)1/6/20232.离散传递函数(Z传函)假设系统的初始条件为零,即则得(3.10)系统传递函数为

(3.11)在初始条件为零时,与等价。1/6/2023172.离散传递函数(Z传函)则得(3.10)系统传递函数为

3.离散状态空间模型类似在连续系统中,从微分方程或传递函数建立状态空间表达式,叫做系统的实现。在离散系统中,从差分方程或脉冲传递函数求取离散状态空间表达式,也是一种实现。多变量离散状态空间表达式(3.12)1/6/2023183.离散状态空间模型(3.12)1/6/23.1控制系统的数学模型MATLAB的控制系统工具箱是提供自动控制系统建模、分析和设计方面函数的集合,提供传递函数模型、零极点增益模型、状态空间模型三种形式线性时不变(LTI)模型。有关模型表示的函数如表3-1所示。函数功能sys=tf(num,den)生成传递函数模型sys=zpk(z,p,k)生成零极点增益模型sys=ss(a,b,c,d)生成状态空间模型1/6/2023193.1控制系统的数学模型MATLAB的控制系统工3.1.1传递函数num=[b1,b2,…,bm,bm+1]den=[a1,a2,…,an,an+1]注意:它们都是按s的降幂进行排列的。1/6/2023203.1.1传递函数1/6/202320MATLAB输入语句1/6/202321MATLAB输入语句1/6/202321

MATLABControl工具箱中,用命令tf()可以建立一个传递函数模型,或将零极点增益模型和状态空间模型变化为传递函数模型。tf()函数调用格式如下:sys=tf(num,den);%用于生成连续传递函数(S传递函数);sys=tf(num,den,Ts);%用于生成离散传递函数(Z传递函数);sys=tf(num,den,‘Property1’,Value1,...,‘PropertyN’,ValueN);%用于生成具有LTI模型属性的传递函数;sys=tf(num,den,Ts,‘Property1’,Value1,...,‘PropertyN’,ValueN);%用于生成具有LTI模型属性的传递函数;sys=tf('s');%用于生成拉普拉斯变量s有理传递函数;sys=tf('z',Ts);%用于生成采样周期为Ts的z有理传递函数;传递函数模型命令tf()调用格式1/6/202322MATLABControl工具箱中,传递函数输入举例【例3.1】

输入传递函数模型MATLAB输入语句>>num=[612610];den=[12311];>>sys1=tf(num,den)Transferfunction:6s^3+12s^2+6s+10---------------------------s^4+2s^3+3s^2+s+11/6/202323传递函数输入举例【例3.1】输入传递函数模型MATLAB输当传递函数的分子或分母由若干个多项式乘积表示时,它可由MATLAB提供的多项式乘法运算函数conv()来处理,以便获得分子和分母多项式向量,此函数的调用格式为

c=conv(a,b)其中a和b分别为由两个多项式系数构成的向量,而c为a和b多项式的乘积多项式系数向量。conv()函数的调用是允许多级嵌套的。1/6/202324当传递函数的分子或分母由若干个多项式乘积表示时,它可【例3-2】若给定系统的传递函数为【解】则可以将其用下列MATLAB语句表示

>>num=4*conv([12],[166]);>>den=conv([10],conv([11],conv([11],conv([11],[1325]))));>>G=tf(num,den)

1/6/202325【例3-2】若给定系统的传递函数为1/6/202325【例3-2】更简便的输入法s=tf('s');%用于生成拉普拉斯变量s有理传递函数G=4*(s+2)*(s^2+6*s+6)/(s*(s+1)^3*(s^3+3*s^2+2*s+5))1/6/202326【例3-2】更简便的输入法s=tf('s');%用于生成拉【例3-3】对于单输入多输出系统

【解】

则可将其用下列MATLAB语句表示>>num={[32];[1025]};den=[3521];tf(num,den)Transferfunctionfrominputtooutput...3s+2#1:-----------------------3s^3+5s^2+2s+1

s^3+2s+5#2:-----------------------3s^3+5s^2+2s+11/6/202327【例3-3】对于单输入多输出系统Tr

【例3.4】给定SISO系统输入为“flow”,输出为“Temp”,传递函数为使用MATLAB表示该传递函数num=[1.322.5];den=[10.51.21];sys=tf(num,den,'inputdelay',2,'inputName','flow','OutputName','Temp')运行结果:Transferfunctionfrominput"flow"tooutput"Temp":1.3s^2+2s+2.5exp(-2*s)*------------------------------s^3+0.5s^2+1.2s+11/6/202328 【例3.4】给定SISO

【例3.5】给定一个多输入-多输出MIMO系统结果为:Transferfunctionfrominput1tooutput...1#1:-------s+1

#2:2

Transferfunctionfrominput2tooutput...1#1:-------s+2

s+1#2:-------s+2MATLAB命令:num={11;2[11]};den={[11],[12];1,[12]};sys3=tf(num,den)1/6/202329 【例3.5】给定一个多输入-多输出MIMO系统MA

【例3.6】若一采样周期为0.2s的离散MIMO传递函数为结果如下:Transferfunctionfrominput1tooutput...z+1#1:--------------------z^2+2z+11#2:---------2z+1

Transferfunctionfrominput2tooutput...Transferz#1:-----------z^2+22#2:----------z+1Samplingtime:0.2MATLAB命令如下:num={[11],[10];1,2};den={[121],[102];[21],[11]};sys4=tf(num,den,0.2)1/6/202330【例3.6】若一采样周期为0.2s的离散MI3.1.2零极点增益形式零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。MATLAB输入语句K为系统增益,zi为零点,pj为极点1/6/2023313.1.2零极点增益形式零极点模型实际上是传递

在MATLABControl工具箱中,用命令zpk()可以建立零极点增益模型,或将传递函数模型和状态空间模型变化为零极点增益模型。sys=zpk(z,p,k)sys=zpk(z,p,k,Ts)sys=zpk(z,p,k,'Property1',Value1,...,'PropertyN',ValueN)sys=zpk(z,p,k,Ts,'Property1',Value1,...,'PropertyN',ValueN)sys=zpk('s')sys=zpk('z')zpk()函数调用方法与tf()一致。零极点增益模型zpk函数调用格式1/6/202332在MATLABControl工具

【例3.7】给定一零极点增益模型,使用MATLAB表示该传递函数。MATLAB命令如下:z={[];-0.5};p={0.3;[0.1-j,0.1+j]};k=[1;2];sys=zpk(z,p,k,[])结果如下:Zero/pole/gainfrominputtooutput...1#1:----------(z-0.3)2(z+0.5)#2:-----------------------(z^2-0.2z+1.01)Samplingtime:unspecified1/6/202333【例3.7】给定一零极点增益模型,使用MATMATLAB工具箱中的函数poly()和roots()可用来实现多项式和零极点间的转换,例如在命令窗口中进行如下操作可实现互相转换。>>P=[1352];>>R=roots(P)

R=-1.2267+1.4677i-1.2267-1.4677i-0.5466>>P1=poly(R)

P1=1.00003.00005.00002.00001/6/202334MATLAB工具箱中的函数poly()和roots(例:建立下述传递函数模型的matlab表示>>num=[12,24,0,20];den=[24622];sys=tf(num,den)借助多项式乘法函数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]))));>>sys=tf(num,den)2)1)1/6/202335例:建立下述传递函数模型的matlab表示>>num=[13)零极点增益模型: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)1/6/2023363)零极点增益模型:4)零极点增益模型:z=[];z=[-33.1.3部分分式形式传递函数表示成部分分式或留数形式为极点,为各极点对应的留数,为分子除以分母的余子式。1/6/2023373.1.3部分分式形式传递函数表示成部分分式或留数形式2.1.4状态空间表达式

状态空间模型(state-spacemodel:SS)线性定常状态空间模型描述为式中,为状态向量,为输入向量,是输出向量。1/6/2023382.1.4状态空间表达式状态空间模型(st在MATLABControl工具箱中,用命令ss()可以建立状态空间模型,或将传递函数模型和零极点增益模型转化为状态空间模型。语法调用格式:sys=ss(a,b,c,d)sys=ss(a,b,c,d,Ts)sys=ss(a,b,c,d,'Property1',Value1,...,'PropertyN',ValueN)sys=ss(a,b,c,d,Ts,'Property1',Value1,...,'PropertyN',ValueN)a,b,c,d是状态空间模型系数矩阵。sys为状态空间模型对象。ss函数的调用方法与tf()、zpk()一致。1/6/202339在MATLABControl工具箱中,用命令ss【例3.8】设系统的状态空间表达式为>>A=[001;-3/2-2-1/2;-30-4];>>B=[11;-1-1;-1-3];>>C=[100;010];>>D=zeros(2,2);>>sys=ss(A,B,C,D)1/6/202340【例3.8】设系统的状态空间表达式为>>A=[001

【例3.9】状态空间模型结果为:a=x1x2x3x1010x2001x3-5-20-1b=u1x10x20x31c=x1x2x3y1100d=u1y10Continuous-timemodel。用MATLAB表示为A=[010;001;-5-20-1];B=[0;0;1];C=[100];D=0;sys=ss(A,B,C,D)1/6/202341【例3.9】状态空间模型用MATLAB表示为

传递函数模型、零极点增益模型和状态空间模型之间模型转换函数如图所示。3.2系统数学模型间的相互转换1/6/202342传递函数模型、零极点增益模型和状态空间

在不同的场合需要不同的模型,因此系统的数学模型有多种表示方式,这些数学模型需要相互转换。MATLABcontrol工具箱提供了一系列用于模型转换的函数如表3-2所示。函数功能sys=tf(ss_sys);sys=tf(zpk_sys);ss或zpk模型转换传递函数模型sys=zpk(ss_sys);sys=zpk(tf_sys)ss或tf模型生成零极点增益模型sys=ss(tf_sys);sys=ss(zpk_sys)tf或zpk模型生成状态空间模型[A,B,C,D]=tf2ss(num,den)传递函数转换成状态空间模型[num,den]=ss2tf(A,B,C,D,iu)状态空间模型转换成传递函数[z,p,k]=tf2zp(num,den)传递函数转换成零极点增益模型[num,den]=zp2tf(z,p,k)零极点增益模型转换成传递函数[z,p,k]=ss2zp(A,B,C,D,iu)状态空间模型转换成零极点增益模型[A,B,C,D]=zp2ss(z,p,k)零极点增益模型转换成状态空间模型1/6/202343在不同的场合需要不同的模型,因此系统的

MATLAB实现模型转换有两种不同的方式。方式1:简单的模型转换首先生成任一指定的模型对象(tf,ss,zpk),然后将该模型对象类作为输入,调用欲转换的模型函数即可。例如:欲将传递函数转换为状态空间模型sys=tf(num,den); %生成传递函数模型。[a,b,c,d]=ss(sys); %将传递函数模型作为状态空间模型的输入。1/6/202344MATLAB实现模型转换有两种不同的方式。1/方式2:直接调用模型转换函数连续模型之间三种形式的数学模型相互转换函数类型包括tf2ss、ss2tf、zp2tf、tf2zp、ss2zp、zp2ss,共六个函数,如图3.2所示。函数的调用格式和功能见表3-2。传递函数模型、零极点增益模型和状态空间模型之间模型转换函数如图3.2所示。1/6/202345方式2:直接调用模型转换函数1/6/202345

3.2.1状态空间表达式到传递函数的转换

在MATLAB控制系统工具箱中,给出一个根据状态空间表达式求取系统传递函数的函数ss2tf(),其调用格式为[num,den]=ss2tf(A,B,C,D,iu)对多输入的系统,必须具体化iu。例如,如果系统有三个输入(u1,u2,u3),则iu必须为1、2或3中的一个,其中1表示u1,2表示u2,3表示u3。如果系统只有一个输入,则可采用[num,den]=ss2tf(A,B,C,D)或[num,den]=ss2tf(A,B,C,D,1)1/6/2023463.2.1状态空间表达式到传递函数的转换*【例3-10】对于例3-8中给出的多变量系统,可以由下面的命令分别对各个输入信号求取传递函数向量,然后求出这个传递函数阵。

【解】利用下列MATLAB语句>>[num1,den1]=ss2tf(A,B,C,D,1)num1=01.00005.00006.00000-1.0000-5.0000-6.0000den1=161161/6/202347*【例3-10】对于例3-8中给出的多变量系统,可以由下面的>>[num2,den2]=ss2tf(A,B,C,D,2)num2=01.00003.00002.00000-1.0000-4.0000-3.0000den2=16116则可得系统的传递函数阵1/6/202348>>[num2,den2]=ss2tf(A,B,C,D,2)3.2.2状态空间形式到零极点形式的转换MATLAB函数ss2zp()的调用格式为

[Z,P,K]=ss2zp(A,B,C,D,iu)iu值的设置与ss2tf()用法相同。1/6/2023493.2.2状态空间形式到零极点形式的转换MATLAB函数

【例3-11】将状态空间模型转换为传递函数和零极点增益模型。MATLAB命令:A=[010;001;-5-20-1];B=[0;0;1];C=[100];D=0;[num,den]=ss2tf(A,B,C,D); %状态空间模型转换成传递函数模型printsys(num,den) %输出传递函数模型[z,p,k]=ss2zp(A,B,C,D); %状态空间模型转换成零极点增益模型zpk(z,p,k) %生成零极点增益模型对象类1/6/202350【例3-11】将状态空间模型转换为传递函数和

【例3-13】多入单出系统状态空间表达式包括两个传递函数:Y1(s)/U1(s)、Y1(s)/U2(s)(当考虑输入u1时,可设u2为零。反之亦然),试将其化成传递函数形式。MATLAB命令:A=[010;011;-5.00825.1026-5.032471];B=[01;25.042;121.0053];C=[100];D=[00];[num,den]=ss2tf(A,B,C,D,1);sys1=tf(num,den)[num,den]=ss2tf(A,B,C,D,2);sys2=tf(num,den)1/6/202351【例3-13】多入单出系统状态空间表达式包括

传递函数Y1(s)/U1(s)为Transferfunction:-3.553e-015s^2+25.04s+247----------------------------------------s^3+4.032s^2–30.14s+5.008传递函数Y1(s)/U2(s)为Transferfunction:s^2+6.032s–17.07----------------------------------------s^3+4.032s^2–30.14s+5.008以上就是下列两个传递函数的MATLAB表达式:1/6/202352传递函数Y1(s)/U1(s)为1/6/202

2.2.3传递函数到状态空间表达式的转换如果已知系统的传递函数模型,求取系统状态空间表达式的过程又称为系统的实现。由于状态变量可以任意地选取,所以实现的方法并不是唯一的,这里只介绍一种比较常用的实现方法。在MATLAB控制系统工具箱中称这种方法为能控标准型实现方法,并给出了直接实现函数,该函数的调用格式为

[A,B,C,D]=tf2ss(num,den)1/6/2023532.2.3传递函数到状态空间表达式的转换

【例3-14】将传递函数化成状态空间表达式num=[023;121];den=[10.41];[A,B,C,D]=tf2ss(num,den)结果为:A=-0.4000-1.00001.00000B=10C=2.00003.00001.60000D=011/6/202354【例3-14】将传递函数化成状态空间表达式13.2.4传递函数形式到零极点形式的转换MATLAB函数tf2zp()的调用格式为

[Z,P,K]=tf2zp(num,den)3.2.5零极点形式到状态空间表达式的转换MATLAB函数zp2ss()的调用格式为

[A,B,C,D]=zp2ss(Z,P,K)3.2.6零极点形式到传递函数形式的转换MATLAB函数zp2tf()的调用格式为

[num,den]=zp2tf(Z,P,K)1/6/2023553.2.4传递函数形式到零极点形式的转换3.2.5零极

【例3-15】将传递函数化为零极点增益模型MATLAB代码命令如下。num=[21];den=[341];[z,p,k]=tf2zp(num,den)结果:z=-0.5000p=-1.0000-0.3333k=0.6667因此,零点为-1/2,极点为-1/3和-1,增益为2/3,因此零极点增益模型为1/6/202356【例3-15】将传递函数化为零极点增益模型M

【例3-16】零极点增益模型化成状态空间表达式MATLAB代码命令如下。z=[-2];p=[-1-3-3];k=2;[A,B,C,D]=zp2ss(z,p,k)1/6/202357【例3-16】零极点增益模型化成状态空间表达3.2.7部分分式与传递函数形式之间的转换[num,den]=residue(P,R,H):部分分式模型转换为传递函数模型[P,R,H]=residue(num,den):传递函数模型转换为部分分式模型1/6/2023583.2.7部分分式与传递函数形式之间的转换[num,

sys=append(sys1,sys2,...,sysN)子系统合成对角形式sys=

parallel(sys1,sys2,inp1,inp2,out1,out2)并联连接sys=series(sys1,sys2,outputs1,inputs2)串联连接sys=feedback(sys1,sys2)反馈连接sys=lft(sys1,sys2,nu,ny)模型连接sysc=connect(sys,Q,inputs,outputs)框图建模3.3系统模型的连接在一般情况下,控制系统常常由若干个环节通过串联、并联和反馈连接的方式而组成,对在各种连接模式下的系统能够进行分析就需要对系统的模型进行适当的处理,在MATLAB的控制系统工具箱中提供了大量的对控制系统的简单模型进行连接的函数。1/6/202359sys=append(sys1,sys2,

,3.3.1串联连接在MATLAB的控制系统工具箱中提供了系统的串联连接处理函数series(),它既可处理由状态方程表示的系统,也可处理由传递函数阵表示的单输入多输出系统。SISO系统模型的串连MIMO系统模型的串连1/6/202360,3.3.1串联连接在MATLAB函数调用格式:sys=series(sys1,sys2):求SISO系统sys1和sys2的串连模型sys=series(sys1,sys2,outputs1,inputs2):求MIMO系统的串连,其中outputs1为sys1的输出端口数,inputs2为sys2的输入端口数。若MIMO系统有多个连接,在outputs1和inputs2为同维数向量。[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,output1,input2)[num,den]=series(num1,den1,num2,den2)[num,den]=series(num1,den1,num2,den2,output1,input2)1/6/202361函数调用格式:[a,b,c,d]=series(a1,b1,

【例3-17】求下列两系统串联后的系统模型>>A1=[23;-14];B1=[1;0];C1=[24];D1=1;>>A2=[03;-3-1];B2=[0;1];C2=[13];D2=2;>>[A,B,C,D]=series(A1,B1,C1,D1,A2,B2,C2,D2)1/6/202362【例3-17】求下列两系统串联后的系统模型>>对于单入单出SISO系统,并联连接是指各子系统输入相同,输出是各子系统输出之代数和。如图所示。3.3.2并联连接在MATLAB的控制系统工具箱中提供了系统的并联连接处理函数parallel()。SISO系统模型的并连MIMO系统模型的并连1/6/202363对于单入单出SISO系统,并联连接是指各子系统输入相[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,in1,in2,out1,out2)[num,den]=parallel(num1,den1,num2,den2)

其调用格式如下:sys=parallel(sys1,sys2):两个SISO系统模型的并联sys=parallel(sys1,sys2,in1,in2,out1,out2):生成两个MIMO系统的并联模型,并联输入端口由向量in1和in2定义,并联的输出端口由向量out1和out2定义。in1和out1对应sys1用于并联的输入、输出端口向量,in2和out2对应sys2用于并联的输入、输出端口向量。1/6/202364[a,b,c,d]=parallel(a1,b1,c1,d1【例3-18】在上图所示的SISO系统并联模型结构中,已知sys1、sys2的传递函数分别为:s=tf('s');%定义拉普拉斯变量ssys1=(s+1)/(s*(s^2+s+2));%定义SISO系统sys1的传递函数模型sys2=5/(5*s+1);%定义SISO系统的sys2的传递函数模型disp('并联系统模型为')sys=parallel(sys1,sys2)%生成sys1与sys2的并联模型执行上述命令后在CommandWindows得如下结果:并联系统模型为Transferfunction:5s^3+10s^2+16s+1----------------------------5s^4+6s^3+11s^2+2s1/6/202365【例3-18】在上图所示的SISO系统并联模型结构中,已知s

【例3-19】求下列两系统并联后的系统模型>>num1=3;den1=[14];num2=[24];den2=[123];>>[num,den]=parallel(num1,den1,num2,den2);>>G=tf(num,den)Transferfunction:5s^2+18s+25-----------------------s^3+6s^2+11s+121/6/202366【例3-19】求下列两系统并联后的系统模型>>系统模型的反馈连接分SISO系统模型反馈连接和MIMO系统模型反馈连接。3.3.3反馈连接SISO系统模型的反馈MIMO系统模型的反馈1/6/202367系统模型的反馈连接分SISO系统模型反馈连接和MIMsys=feedback(sys1,sys2,sign):生SISO系统sys1与sys2构成的反馈系统传递函数模型,sys2为反馈通道传递函数模型,反馈类型由sign指定,当sign=1为正反馈,当sign=-1为负反馈,此时sign可省略。sys=feedback(sys1,sys2,feedin,feedout,sign):生成MIMO系统的部分反馈模型,feedin指定sys1中连入反馈回路的输入端口向量。feedout指定sys1中连入反馈回路中的输出端口向量。feedback()调用格式[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,inp1,out1)[num,den]=feedback(num1,den1,num2,den2,sign)1/6/202368sys=feedback(sys1,sys2,sign):生【例】给定一个5输入4输出的状态空间子系统sys1和一个3输入2输出的状态空间反馈控制器sys2。sys1的输出1、3和4连接到控制器sys2的输入端,控制器sys2的输出端连接到子系统sys1的输入端4和2。则采用命令如下:feedin=[42];feedout=[134];cloop=feedback(sys1,sys2,feedin,feedout);1/6/202369【例】给定一个5输入4输出的状态空间子系统sys1和一个3

【例3-20】求下列两系统反馈连接后的系统模型numg=[251];deng=[123];numh=[510];denh=[110];[num,den]=feedback(numg,deng,numh,denh);printsys(num,den)1/6/202370【例3-20】求下列两系统反馈连接后的系统模型3.3.4系统的组合MATLAB的组合函数append()的调用格式为

[A,B,C,D]=append(A1,B1,C1,D1,A2,B2,C2,D2)1/6/2023713.3.4系统的组合MATLAB的组合函数appen

3.3.5根据框图建模利用connect()函数,可以根据系统的方框图按指定方式求取系统模型,其函数调用格式为:[A1,B1,C1,D1]=connect(A,B,C,D,Q,inputs,outputs)其中(A,B,C,D)为由函数append()生成的无连接对角方块系统的状态空间模型系数矩阵;Q矩阵用于指定系统(A,B,C,D)的内部连接关系,Q矩阵的每一行对应于一个有连接关系的输入,其第一个元素为输入编号,其后为连接该输入的输出编号,如采用负连接,则以负值表示;inputs和outputs用于指定系统(A1,B1,C1,D1)的输入和输出的编号;(A1,B1,C1,D1)为在指定输入和输出并按要求的内部连接关系下所生成的系统。1/6/2023723.3.5根据框图建模利用connec

【例3-21】用框图建模法重做【例3-17】1/6/202373【例3-21】用框图建模法重做【例3-17】1

【例3-21】用框图建模法求系统的传递函数。1/6/202374【例3-21】用框图建模法求系统的传递函数。1

【例3-22】用框图建模法求系统的传递函数。1/6/202375【例3-22】用框图建模法求系统的传递函数。1

【例3-23】如图3-9所示的系统连接关系,建立该框图的状态空间表达式和传递函数模型。图3-9用方框图表示系统的连接关系1/6/202376【例3-23】如图3-9所示的系统连接关系,Step1:定义子系统数学模型(传递函数tf、状态空间模型ss或零极点增益模型zpk)。1/6/202377Step1:定义子系统数学模型(传递函数tf、状态空间模Step2:建立无连接的状态空间模型,形成一个无连接关系的对角块(a,b,c,d)。1/6/202378Step2:建立无连接的状态空间模型,形成一个无连接关系的Step3:指定框图间的连接关系。1/6/202379Step3:指定框图间的连接关系。1/6/202379Step4:选择输入/输出。1/6/202380Step4:选择输入/输出。1/6/202380Step5:调用connect函数,完成框图模型的状态空间模型。sysc=connect(sys,Q,inputs,outputs);1/6/202381Step5:调用connect函数,完成框图模型的状态空间Step6:将状态空间模型转换成传递函数模型。1/6/202382Step6:将状态空间模型转换成传递函数模型。1/6/20

1/6/2023831/6/2023833.4典型系统的生成1.建立二阶系统模型可利用MATLAB所提供的函数ord2()来建立其调用格式为

[num,den]=ord2(ωn,ζ)或

[A,B,C,D]=ord2(ωn,ζ)1/6/2023843.4典型系统的生成1.建立二阶系统模型1/6/2023

【例3-24】已知ζ=0.4,ωn=2.4rad/s,求二阶系统的传递函数。>>[num,den]=ord2(2.4,0.4);>>printsys(num,den)num/den=

1-------------------s^2+1.92s+5.761/6/202385【例3-24】已知ζ=0.4,ωn=2.4ra2.纯时延系统的Padè近似可利用MATLAB所提供的函数pade()来建立其调用格式为

[num,den]=pade(tau,n)1/6/2023862.纯时延系统的Padè近似1/6/2023863.5系统的特性值在分析控制系统的时候,经常用到系统的一些特性函数,如系统的增益、阻尼系数和自然频率等等,MATLAB的控制系统工具箱中提供了相应的函数用来计算系统的特性函数,如下表所示。函数名功能damp()求系统的阻尼系数和自然频率ddamp()求离散系统的阻尼系数和自然频率dcgain()求连续控制系统的增益ddcgain()求离散控制系统的增益printsys()显示或打印系统1/6/2023873.5系统的特性值在分析控制系统的时候,经常用到系求系统的阻尼系数和自然频率MATLAB函数damp()的调用格式为[wn,zeta]=damp(A)

【例3-25】连续系统的传递函数求系统特征值、自然频率和阻尼系数。>>num=[251];den=[123];>>[wn,zeta]=damp(den)>>roots(den)1/6/202388求系统的阻尼系数和自然频率【例3-25】连续系统的传递函数>2.系统的增益MATLAB的函数dcgain()的调用格式为

K=dcgain(num,den)或K=dcgain(A,B,C,D)1/6/2023892.系统的增益1/6/2023893.显示∕打印线性系统MATLAB的printsys()函数可按特殊格式打印出状态空间和传递函数表示的系统。其调用格式分别为printsys(num,den,'s')

%显示∕打印连续系统的传递函数,默认方式;printsys(num,den,'z')

%显示∕打印离散系统的脉冲传递函数;printsys(A,B,C,D)

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

3-1根据SISO系统状态空间表达式,求其对应的传递函数。1/6/202392习题3-1根据SISO系统状态空间表达式,

3-2由MIMO系统状态空间表达式求系统的传递函数 1/6/2023933-2由MIMO系统状态空间表达式求系统的传

3-3给定系统为使用MATLAB求出状态空间表达式和零极点模型1/6/2023943-3给定系统为使用MATLAB求出状态空间

3-4考虑由下式定义的系统:式中,试求其传递函数Y(s)/U(s)。1/6/2023953-4考虑由下式定义的系统:式中,试求其传3-5已知系统外部模型,其输入是u,输出是y,试分别写出下列系统状态方程和输出方程:(1)(2)1/6/2023963-5已知系统外部模型,其输入是u,输出是y,试分别写出下

3-6考虑一个MIMO系统求出对应的传递函数。1/6/2023973-6考虑一个MIMO系统求出对应的传递函数第三章

控制系统的数学模型及其转换1/6/202398第三章

控制系统的数学模型及其转换1/6/20231本章内容利用MATLAB描述在控制系统中常见的几种数学模型;利用MATLAB实现任意数学模型之间的相互转换;利用MATLAB求解系统经过串联、并联和反馈连接后的系统模型;利用MATLAB获取一些典型系统的模型;利用MATLAB实现连续系统的离散化和离散系统的连续化;利用MATLAB求取系统的特性函数。1/6/202399本章内容利用MATLAB描述在控制系统中常见的几种数学模型控制系统计算机仿真是建立在控制系统数学模型基础之上的一门技术。对系统进行仿真,首先应该知道系统的数学模型,然后才可以在此基础上设计一个合适的控制器,使得原系统的响应达到预期的效果。在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)状态方程模型(系统的内部模型)零极点增益模型(传递函数模型的一种)这些模型之间都有着内在的联系,可以相互进行转换。1/6/2023100控制系统计算机仿真是建立在控制系统数学模型基础之上的一门技术系统类型一.连续和离散系统根据系统自变量(时间)是连续变化还是离散变化,系统分为连续系统和离散系统。(1)连续系统——系统输入、输出信号都是连续时间信号。(2)离散系统——系统输入、输出信号都是离散时间信号。(3)混合系统——系统输入、输出信号包含连续信号和离散信号。连续时间的数学模型用微分方程描述。离散时间系统的数学模型用差分方程描述。例如:一般L、R、C电路都是连续时间系统。数字计算机是典型的离散时间系统。实际上离散时间系统经常与连续时间系统组合运用,此时称为混合系统(或采样系统)。如自动控制系统和数字通信系统。1/6/2023101系统类型一.连续和离散系统根据系统自变量(时间)是连续变化还二.线性和非线性系统

根据输入输出关系是否同时满足齐次性和叠加性,系统分为线性和非线性。假设系统在没有外界信号作用之前处于静止状态,在输入信号为任意实数,和或和作用下,有式中,为输入输出之间函数关系。那么,该系统称为线性系统,否则是非线性系统。根据模型参数是否随时间变化,线性系统又可细分为线性定常系统和线性时变系统。参数不随时间变化的系统,称为时不变系统或定常系统,否则称为时变系统。例如,线性定常系统:1/6/2023102二.线性和非线性系统根据输入输出关系是否同时满足齐线性时变系统:非线性定常系统:式中,分别为系统输入、输出。1/6/2023103线性时变系统:非线性定常系统:式中,分别为系统输入、输出。1三.确定和随机系统

根据系统输入、输出和内部状态呈现的规律,系统分为确定性系统与随机性系统。输入输出之间函数关系能够用确定性模型描述的系统,称为确定性系统,否则称为随机系统(或不确定性系统)。在控制系统中,随机因素可能作用在系统的入口,也可能作用在系统的出口,还可能影响系统模型本身。例如噪声输入的随机控制系统,其微分方程具有如下形式。式中,分别为状态变量和输出变量,为输入噪声,通常是正态分布的白噪声。1/6/2023104三.确定和随机系统根据系统输入、输出和内部状态呈控制系统常用数学模型

根据系统输入、输出与内部状态变量之间关系,控制系统模型可分为外部模型和内部模型。一般地,把建立系统输入输出关系的数学模型称为外部模型,包括时域模型和频域模型。把建立系统输入、输出与内部状态变量之间关系的数学模型称为内部模型,相应的数学模型称为系统的状态空间方程(连续状态空间方程或离散状态空间方程)。控制系统模型分类1/6/2023105控制系统常用数学模型根据系统输入、输出与内部状态变量一.连续系统

1.微分方程一个连续系统可以表示成高阶微分方程,即式中,分别为系统输入量、输出量,n为系统的阶次,为系统的结构参数,结构参数,为输入函数的及各阶导数的初始值为它们均为实常数。已知输出变量控制系统常用数学模型

1/6/2023106一.连续系统1.微分方程式中,分别为系统输入量、输出量 稍加整理,并记 2.传递函数若系统的初始条件为零,即系统在t=0时已处于一个稳定状态,那么对式(3.1)两边取拉普拉斯变换后可得称为系统的传递函数。1/6/2023107 稍加整理,并记 2.传递函数称为系统的传递函数。1/6/3.状态空间描述

微分方程和传递函数都只描述了系统输入与输出之间的关系,而没有考虑系统内部状态的动态运动,仅仅实现系统输入与输出之间的关系是不够的,还必须复现模型的内部变量即状态变量的动态变化规律。状态空间描述考虑了“输入-状态-输出”这一过程,引进经典控制理论所忽略的中间内部状态,因此状态空间表达式能够完全反映系统的全部独立变量的变化,而且能够方便处理初始条件。1/6/20231083.状态空间描述1/6/202311在用状态空间法分析系统时,系统的动态特性是用由状态变量构成的一阶微分方程组来描述。状态空间表达式包括状态方程和输出方程。线性定常系统的状态空间描述为=AX+BU状态方程 (3.3)Y=CX+DU输出方程 (3.4)——维系统矩阵式中——维输入矩阵——维输出矩阵——维直接传递矩阵1/6/2023109在用状态空间法分析系统时,系统的动态特性是用由状态

——r维输入向量,

——n维状态向量,——m维输出向量

1/6/2023110——r维输入向量,——n维状态向量,——m维

对于线性时变系统,系数矩阵A,B,C,D,均与时间t有关,状态空间描述为系统的状态空间分析法是时域内的一种矩阵运算方法,不再只局限于输入量、输出量、误差量,为提高系统性能提供了有力工具。状态空间分析法特别适合于用计算机来计算,有利于把工程技术人员从烦琐的计算中解脱出来。1/6/2023111对于线性时变系统,系数矩阵A,B,C,

二.离散系统1.差分方程设系统差分方程为(3.6)引进后移算子为

(3.7)控制系统常用数学模型

假设系统输入、输出及其内部状态变量均是时间序列,其中T

为离散时间间隔,为书写简便,用数学模型有3种形式。表示。与连续时间系统类似,离散时间系统1/6/2023112二.离散系统1.差分方程(3.6)引进后移式(3.6)可写为(3.8)令则(3.9)1/6/2023113式(3.6)可写为(3.8)令则(3.9)1/6/20232.离散传递函数(Z传函)假设系统的初始条件为零,即则得(3.10)系统传递函数为

(3.11)在初始条件为零时,与等价。1/6/20231142.离散传递函数(Z传函)则得(3.10)系统传递函数为

3.离散状态空间模型类似在连续系统中,从微分方程或传递函数建立状态空间表达式,叫做系统的实现。在离散系统中,从差分方程或脉冲传递函数求取离散状态空间表达式,也是一种实现。多变量离散状态空间表达式(3.12)1/6/20231153.离散状态空间模型(3.12)1/6/23.1控制系统的数学模型MATLAB的控制系统工具箱是提供自动控制系统建模、分析和设计方面函数的集合,提供传递函数模型、零极点增益模型、状态空间模型三种形式线性时不变(LTI)模型。有关模型表示的函数如表3-1所示。函数功能sys=tf(num,den)生成传递函数模型sys=zpk(z,p,k)生成零极点增益模型sys=ss(a,b,c,d)生成状态空间模型1/6/20231163.1控制系统的数学模型MATLAB的控制系统工3.1.1传递函数num=[b1,b2,…,bm,bm+1]den=[a1,a2,…,an,an+1]注意:它们都是按s的降幂进行排列的。1/6/20231173.1.1传递函数1/6/202320MATLAB输入语句1/6/2023118MATLAB输入语句1/6/202321

MATLABControl工具箱中,用命令tf()可以建立一个传递函数模型,或将零极点增益模型和状态空间模型变化为传递函数模型。tf()函数调用格式如下:sys=tf(num,den);%用于生成连续传递函数(S传递函数);sys=tf(num,den,Ts);%用于生成离散传递函数(Z传递函数);sys=tf(num,den,‘Property1’,Value1,...,‘PropertyN’,ValueN);%用于生成具有LTI模型属性的传递函数;sys=tf(num,den,Ts,‘Property1’,Value1,...,‘PropertyN’,ValueN);%用于生成具有LTI模型属性的传递函数;sys=tf('s');%用于生成拉普拉斯变量s有理传递函数;sys=tf('z',Ts);%用于生成采样周期为Ts的z有理传递函数;传递函数模型命令tf()调用格式1/6/2023119MATLABControl工具箱中,传递函数输入举例【例3.1】

输入传递函数模型MATLAB输入语句>>num=[612610];den=[12311];>>sys1=tf(num,den)Transferfunction:6s^3+12s^2+6s+10---------------------------s^4+2s^3+3s^2+s+11/6/2023120传递函数输入举例【例3.1】输入传递函数模型MATLAB输当传递函数的分子或分母由若干个多项式乘积表示时,它可由MATLAB提供的多项式乘法运算函数conv()来处理,以便获得分子和分母多项式向量,此函数的调用格式为

c=conv(a,b)其中a和b分别为由两个多项式系数构成的向量,而c为a和b多项式的乘积多项式系数向量。conv()函数的调用是允许多级嵌套的。1/6/2023121当传递函数的分子或分母由若干个多项式乘积表示时,它可【例3-2】若给定系统的传递函数为【解】则可以将其用下列MATLAB语句表示

>>num=4*conv([12],[166]);>>den=conv([10],conv([11],conv([11],conv([11],[1325]))));>>G=tf(num,den)

1/6/2023122【例3-2】若给定系统的传递函数为1/6/202325【例3-2】更简便的输入法s=tf('s');%用于生成拉普拉斯变量s有理传递函数G=4*(s+2)*(s^2+6*s+6)/(s*(s+1)^3*(s^3+3*s^2+2*s+5))1/6/2023123【例3-2】更简便的输入法s=tf('s');%用于生成拉【例3-3】对于单输入多输出系统

【解】

则可将其用下列MATLAB语句表示>>num={[32];[1025]};den=[3521];tf(num,den)Transferfunctionfrominputtooutput...3s+2#1:-----------------------3s^3+5s^2+2s+1

s^3+2s+5#2:-----------------------3s^3+5s^2+2s+11/6/2023124【例3-3】对于单输入多输出系统Tr

【例3.4】给定SISO系统输入为“flow”,输出为“Temp”,传递函数为使用MATLAB表示该传递函数num=[1.322.5];den=[10.51.21];sys=tf(num,den,'inputdelay',2,'inputName','flow','OutputName','Temp')运行结果:Transferfunctionfrominput"flow"tooutput"Temp":1.3s^2+2s+2.5exp(-2*s)

温馨提示

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

评论

0/150

提交评论