matlabppt课件-第3章_控制系统的数学模型及其转换.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《matlabppt课件-第3章_控制系统的数学模型及其转换.ppt》由会员分享,可在线阅读,更多相关《matlabppt课件-第3章_控制系统的数学模型及其转换.ppt(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 控制系统的数学模型及其转换控制系统的数学模型及其转换6/8/20231本章内容本章内容u 利用利用MATLAB描述在控制系统中常见的几种数学模型;描述在控制系统中常见的几种数学模型;u 利用利用MATLAB实现任意数学模型之间的相互转换;实现任意数学模型之间的相互转换;u 利用利用MATLAB求解系统经过串联、并联和反馈连接后的系求解系统经过串联、并联和反馈连接后的系统模型;统模型;u 利用利用MATLAB获取一些典型系统的模型;获取一些典型系统的模型;u 利用利用MATLAB实现连续系统的离散化和离散系统的连续化;实现连续系统的离散化和离散系统的连续化;u 利用利用MATLAB
2、求取系统的特性函数。求取系统的特性函数。6/8/20232l控制系统计算机仿真是建立在控制系统数学模型基础之上的一门技术。对系统进行仿真,首先应该知道系统的数学模型,然后才可以在此基础上设计一个合适的控制器,使得原系统的响应达到预期的效果。在线性系统理论中,一般常用的数学模型形式有:传递函数模型传递函数模型(系统的外部模型)状态方程模型状态方程模型(系统的内部模型)零极点增益模型零极点增益模型(传递函数模型的一种)这些模型之间都有着内在的联系,可以相互进行转换。6/8/20233系统类型系统类型一一.连续和离散系统连续和离散系统根据系统自变量(时间)是连续变化还是离散变化,系统分为连续系统和离
3、散系统。(1)连续系统系统输入、输出信号都是连续时间信号。(2)离散系统系统输入、输出信号都是离散时间信号。(3)混合系统系统输入、输出信号包含连续信号和离散信号。连续时间的数学模型用微分方程描述。离散时间系统的数学模型用差分方程描述。例如:一般L、R、C电路都是连续时间系统。数字计算机是典型的离散时间系统。实际上离散时间系统经常与连续时间系统组合运用,此时称为混合系统(或采样系统)。如自动控制系统和数字通信系统。6/8/20234二二二二.线性和非线性系统线性和非线性系统线性和非线性系统线性和非线性系统 根据输入输出关系是否同时满足齐次性和叠加性,系统分为线性和非线性。假设系统在没有外界信号
4、作用之前处于静止状态,在输入信号为任意实数,和或和作用下,有式中,为输入输出之间函数关系。那么,该系统称为线性系统,否则是非线性系统。根据模型参数是否随时间变化,线性系统又可细分为线性定常系统和线性时变系统。参数不随时间变化的系统,称为时不变系统或定常系统,否则称为时变系统。例如,线性定常系统:6/8/20235线性时变系统:非线性定常系统:式中,分别为系统输入、输出。6/8/20236三三.确定和随机系统确定和随机系统 根据系统输入、输出和内部状态呈现的规律,系统分为确定性系统与随机性系统。输入输出之间函数关系能够用确定性模型描述的系统,称为确定性系统,否则称为随机系统(或不确定性系统)。在
5、控制系统中,随机因素可能作用在系统的入口,也可能作用在系统的出口,还可能影响系统模型本身。例如噪声输入的随机控制系统,其微分方程具有如下形式。式中,分别为状态变量和输出变量,为输入噪声,通常是正态分布的白噪声。6/8/20237控制系统常用数学模型控制系统常用数学模型 根据系统输入、输出与内部状态变量之间关系,控制系统模型可分为外部模型和内部模型。一般地,把建立系统输入输出关系的数学模型称为外部模型,包括时域模型和频域模型。把建立系统输入、输出与内部状态变量之间关系的数学模型称为内部模型,相应的数学模型称为系统的状态空间方程(连续状态空间方程或离散状态空间方程)。控制系统模型分类控制系统模型分
6、类6/8/20238一一一一.连续系统连续系统连续系统连续系统 1微分方程微分方程一个连续系统可以表示成高阶微分方程,即式中,分别为系统输入量、输出量,n为系统的阶次,为系统的结构参数,结构参数,为输入函数的及各阶导数的初始值为它们均为实常数。已知输出变量控制系统常用数学模型控制系统常用数学模型 6/8/20239稍加整理,并记 2.传递函数传递函数 若系统的初始条件为零,即系统在t=0 时已处于一个稳定状态,那么对式(3.1)两边取拉普拉斯变换后可得 称为系统的传递函数。6/8/2023103.状态空间描述状态空间描述 微分方程和传递函数都只描述了系统输入与输出之间的关系,而没有考虑系统内部
7、状态的动态运动,仅仅实现系统输入与输出之间的关系是不够的,还必须复现模型的内部变量即状态变量的动态变化规律。状态空间描述考虑了“输入-状态-输出”这一过程,引进经典控制理论所忽略的中间内部状态,因此状态空间表达式能够完全反映系统的全部独立变量的变化,而且能够方便处理初始条件。6/8/202311 在用状态空间法分析系统时,系统的动态特性是用由状态变量构成的一阶微分方程组来描述。状态空间表达式包括状态方程和输出方程。线性定常系统的状态空间描述为 =AX+BU 状态方程(3.3)Y=CX+DU 输出方程(3.4)维系统矩阵式中 维输入矩阵 维输出矩阵 维直接传递矩阵 6/8/202312 r维输入
8、向量,n维状态向量,m维输出向量 6/8/202313 对于线性时变系统,系数矩阵对于线性时变系统,系数矩阵A,B,C,D,均与时间,均与时间 t 有有关,状态空间描述为关,状态空间描述为 系统的状态空间分析法是时域内的一种矩阵运算方法,不再只局限于输入量、输出量、误差量,为提高系统性能提供了有力工具。状态空间分析法特别适合于用计算机来计算,有利于把工程技术人员从烦琐的计算中解脱出来。6/8/202314 二二二二.离散系统离散系统离散系统离散系统1差分方程差分方程设系统差分方程为(3.6)引进后移算子为 (3.7)控制系统常用数学模型控制系统常用数学模型 假设系统输入、输出 及其内部状态变量
9、 均是时间序列,其中T 为离散时间间隔,为书写简便,用 数学模型有3种形式。表示。与连续时间系统类似,离散时间系统6/8/202315式(3.6)可写为(3.8)令 则(3.9)6/8/2023162离散传递函数离散传递函数(Z传函传函)假设系统的初始条件为零,即 则得(3.10)系统传递函数为(3.11)在初始条件为零时,与等价。6/8/202317 3.离散状态空间模型离散状态空间模型类似在连续系统中,从微分方程或传递函数建立状态空间表达式,叫做系统的实现。在离散系统中,从差分方程或脉冲传递函数求取离散状态空间表达式,也是一种实现。多变量离散状态空间表达式(3.12)6/8/2023183
10、.1 3.1 控制系统的数学模型控制系统的数学模型 MATLAB的控制系统工具箱是提供自动控制系统建模、分析和设计方面函数的集合,提供传递函数模型、零极点增益模型、状态空间模型三种形式线性时不变(LTI)模型。有关模型表示的函数如表3-1所示。函数功能sys=tf(num,den)生成传递函数模型sys=zpk(z,p,k)生成零极点增益模型sys=ss(a,b,c,d)生成状态空间模型6/8/2023193.1.1 传递函数nnum=b1,b2,bm,bm+1nden=a1,a2,an,an+1n注意:它们都是按s的降幂进行排列的。6/8/202320MATLABMATLAB输入语句输入语句
11、6/8/202321 MATLAB Control 工具箱中,用命令tf()可以建立一个传递函数模型,或将零极点增益模型和状态空间模型变化为传递函数模型。tf()函数调用格式如下:n sys=tf(num,den);%用于生成连续传递函数(S传递函数);n sys=tf(num,den,Ts);%用于生成离散传递函数(Z传递函数);n sys=tf(num,den,Property1,Value1,.,PropertyN,ValueN);%用于生成具有LTI模型属性的传递函数;n sys=tf(num,den,Ts,Property1,Value1,.,PropertyN,ValueN);%用
12、于生成具有LTI模型属性的传递函数;n sys=tf(s);%用于生成拉普拉斯变量s有理传递函数;n sys=tf(z,Ts);%用于生成采样周期为Ts的z有理传递函数;传递函数模型命令tf()调用格式6/8/202322传递函数输入举例传递函数输入举例【例【例【例【例3.13.13.13.1】输入传递函数模型输入传递函数模型输入传递函数模型输入传递函数模型MATLABMATLAB输入语句输入语句 num=6 12 6 10;den=1 2 3 1 1;sys1=tf(num,den)Transfer function:6 s3+12 s2+6 s+10-s4+2 s3+3 s2+s+16/8
13、/202323 当传递函数的分子或分母由若干个多项式乘积表示时,它可由MATLAB 提供的多项式乘法运算函数conv()来处理,以便获得分子和分母多项式向量,此函数的调用格式为 c c=conv(=conv(a,ba,b)其中a和b分别为由两个多项式系数构成的向量,而c为a和b多项式的乘积多项式系数向量。conv()函数的调用是允许多级嵌套的。6/8/202324【例【例3-23-2】若给定系统的传递函数为【解】【解】则可以将其用下列MATLAB语句表示 num=4*conv(1 2,1 6 6);den=conv(1 0,conv(1 1,conv(1 1,conv(1 1,1 3 2 5)
14、;G=tf(num,den)6/8/202325【例【例3-23-2】更简便的输入法更简便的输入法s=tf(s);%用于生成拉普拉斯变量用于生成拉普拉斯变量s有理传递函数有理传递函数G=4*(s+2)*(s2+6*s+6)/(s*(s+1)3*(s3+3*s2+2*s+5)6/8/202326【例【例3-33-3】对于单输入多输出系统 【解】【解】则可将其用下列MATLAB语句表示num=3 2;1 0 2 5;den=3 5 2 1;tf(num,den)Transfer function from input to output.3 s+2#1:-3 s3+5 s2+2 s+1 s3+2
15、s+5#2:-3 s3+5 s2+2 s+16/8/202327 【例3.4】给定SISO系统输入为“flow”,输出为“Temp”,传递函数为使用MATLAB表示该传递函数num=1.3 2 2.5;den=1 0.5 1.2 1;sys=tf(num,den,inputdelay,2,inputName,flow,OutputName,Temp)运行结果:Transfer function from input flow to output Temp:1.3 s2+2 s+2.5exp(-2*s)*-s3+0.5 s2+1.2 s+16/8/202328 【例3.5】给定一个多输入-多输出
16、MIMO系统结果为:Transfer function from input 1 to output.1#1:-s+1#2:2 Transfer function from input 2 to output.1#1:-s+2 s+1#2:-s+2MATLAB命令:num=1 1;2 1 1;den=1 1,1 2;1,1 2;sys3=tf(num,den)6/8/202329 【例3.6】若一采样周期为0.2s的离散MIMO传递函数为结果如下:Transfer function from input 1 to output .z+1#1:-z2+2 z+1 1#2:-2 z+1 Trans
17、fer function from input 2 to output.Transfer z#1:-z2+2 2#2:-z+1Sampling time:0.2MATLAB命令如下:num=1 1,1 0;1,2;den=1 2 1,1 0 2;2 1,1 1;sys4=tf(num,den,0.2)6/8/2023303.1.2 零极点增益形式n 零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。MATLABMATLAB输入语句输入语句K为系统增益,zi为零点,pj为极点6/8/202331 在MATL
18、AB Control 工具箱中,用命令zpk()可以建立零极点增益模型,或将传递函数模型和状态空间模型变化为零极点增益模型。n sys=zpk(z,p,k)n sys=zpk(z,p,k,Ts)n sys=zpk(z,p,k,Property1,Value1,.,PropertyN,ValueN)n sys=zpk(z,p,k,Ts,Property1,Value1,.,PropertyN,ValueN)n sys=zpk(s)n sys=zpk(z)zpk()函数调用方法与tf()一致。零极点增益模型zpk函数调用格式6/8/202332 【例3.7】给定一零极点增益模型,使用MATLAB表
19、示该传递函数。MATLAB命令如下:z=;-0.5;p=0.3;0.1-j,0.1+j;k=1;2;sys=zpk(z,p,k,)结果如下:Zero/pole/gain from input to output.1#1:-(z-0.3)2(z+0.5)#2:-(z2 -0.2z+1.01)Sampling time:unspecified6/8/202333l MATLABMATLAB工具箱中的函数工具箱中的函数 poly()poly()和和roots()roots()可用来实现多项式和零极点间的转换,例如在命可用来实现多项式和零极点间的转换,例如在命令窗口中进行如下操作可实现互相转换。令窗口
20、中进行如下操作可实现互相转换。P=1 3 5 2;R=roots(P)R=-1.2267+1.4677i -1.2267-1.4677i -0.5466P1=poly(R)P1=1.0000 3.0000 5.0000 2.00006/8/202334例:建立下述传递函数模型的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,0,conv(1,1,conv(1,1,conv(1,1,1,3,2
21、,5);sys=tf(num,den)2)1)6/8/2023353)零极点增益模型: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)6/8/2023363.1.3 部分分式形式传递函数表示成部分分式或留数形式 为极点,为各极点对应的留数,为分子除以分母的余子式。6/8/2023372.1.4 状态空间表达式 状态空间模型(state-space model:SS)线性定常状态空间模型描述为式中,为状态向量,为输入向量,是输出向量。6/8/202338 在MATLAB
22、 Control 工具箱中,用命令ss()可以建立状态空间模型,或将传递函数模型和零极点增益模型转化为状态空间模型。语法调用格式:n sys=ss(a,b,c,d)n sys=ss(a,b,c,d,Ts)n sys=ss(a,b,c,d,Property1,Value1,.,PropertyN,ValueN)n sys=ss(a,b,c,d,Ts,Property1,Value1,.,PropertyN,ValueN)a,b,c,d是状态空间模型系数矩阵。sys为状态空间模型对象。ss函数的调用方法与tf()、zpk()一致。6/8/202339【例3.8】设系统的状态空间表达式为A=0 0
23、1;-3/2 -2 -1/2;-3 0 -4;B=1 1;-1 -1;-1 -3;C=1 0 0;0 1 0;D=zeros(2,2);sys=ss(A,B,C,D)6/8/202340 【例3.9】状态空间模型结果为:a=x1 x2 x3 x1 0 1 0 x2 0 0 1 x3 -5 -20 -1 b=u1 x1 0 x2 0 x3 1 c=x1 x2 x3 y1 1 0 0 d=u1 y1 0 Continuous-time model。用MATLAB表示为A=0 1 0;0 0 1;-5-20-1;B=0;0;1;C=1 0 0;D=0;sys=ss(A,B,C,D)6/8/20234
24、1 传递函数模型、零极点增益模型和状态空间模型传递函数模型、零极点增益模型和状态空间模型之间模型转换函数如图所示。之间模型转换函数如图所示。3.2 3.2 系统数学模型间的相互转换系统数学模型间的相互转换6/8/202342 在不同的场合需要不同的模型,因此系统的数学模型有多种表示方式,这些数学模型需要相互转换。MATLAB control工具箱提供了一系列用于模型转换的函数如表3-2所示。函数功能sys=tf(ss_sys);sys=tf(zpk_sys);ss或zpk模型转换传递函数模型sys=zpk(ss_sys);sys=zpk(tf_sys)ss或tf模型生成零极点增益模型sys=s
25、s(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)零极点增益模型转换成状态空间模型6/8/202343 MATLAB实现模型转换有两种不同的方式。方式方式1:简单的模型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlabppt 课件 控制系统 数学模型 及其 转换
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内