第2章控制系统的数学模型及其转换-MATLAB.ppt

上传人:b****2 文档编号:2579883 上传时间:2022-11-02 格式:PPT 页数:66 大小:571.50KB
下载 相关 举报
第2章控制系统的数学模型及其转换-MATLAB.ppt_第1页
第1页 / 共66页
第2章控制系统的数学模型及其转换-MATLAB.ppt_第2页
第2页 / 共66页
第2章控制系统的数学模型及其转换-MATLAB.ppt_第3页
第3页 / 共66页
第2章控制系统的数学模型及其转换-MATLAB.ppt_第4页
第4页 / 共66页
第2章控制系统的数学模型及其转换-MATLAB.ppt_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

第2章控制系统的数学模型及其转换-MATLAB.ppt

《第2章控制系统的数学模型及其转换-MATLAB.ppt》由会员分享,可在线阅读,更多相关《第2章控制系统的数学模型及其转换-MATLAB.ppt(66页珍藏版)》请在冰豆网上搜索。

第2章控制系统的数学模型及其转换-MATLAB.ppt

第第2章章控制系统的数学模型及控制系统的数学模型及其转换其转换本章内容

(1)利用MATLAB描述在控制系统中常见的几种数学模型;

(2)利用MATLAB实现任意数学模型之间的相互转换;(3)利用MATLAB求解系统经过串联、并联和反馈连接后的系统模型;(4)利用MATLAB获取一些典型系统的模型;(5)利用MATLAB实现连续系统的离散化和离散系统的连续化,以及离散模型按另一采样周期的重新离散化;(6)利用MATLAB求取系统的特性函数。

1l控制系统计算机仿真是建立在控制系统数学模型基础之上的一门技术。

需对系统进行仿真,首先应该知道系统的数学模型,然后才可以在此基础上设计一个合适的控制器,使得原系统的响应达到预期的效果。

22.1线性系统数学模型的基本描述方法l2.1.1传递函数传递函数l传递函数在MATLAB下可以方便的由其分子和分母多项式系数所构成的两个向量唯一确定出来。

即lnum=b0b1bm;den=1a1a2an注意:

它们都是按注意:

它们都是按s的降幂进行排列的。

的降幂进行排列的。

3l例例2-1若给定系统的传递函数为l解解可以将其用下列MATLAB语句表示lnum=612610;den=12311;lprintsys(num,den)l执行结果为lnum/den=Printsys()函数:

以习惯方式显示有理分式4l当传递函数的分子或分母由若干个多项式乘积表示时,它可由MATLAB提供的多项式乘法运算函数conv()来处理,以便获得分子和分母多项式向量,此函数的调用格式为lc=conv(a,b)l其中a和b分别为由两个多项式系数构成的向量,而c为a和b多项式的乘积多项式系数向量。

conv()函数的调用是允许多级嵌套的。

5l例例2-2若给定系统的传递函数为l解解则可以将其用下列MATLAB语句表示lnum=4*conv(12,166)lden=conv(10,conv(11,conv(11,lconv(11,1325)6练习:

传递函数描述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);7l对具有r个输入和m个输出的多变量系统,可把mr的传递函数阵G(s)写成和单变量系统传递函数相类似的形式,即l(2-5)l式中B0,B1,Bn均为mr实常数矩阵,分母多项式为该传递函数阵的特征多项式。

l在MATLAB控制系统工具箱中,提供了表示单输入多输出系统的表示方法,即lnum=B0B1Bn;den=1a1a2anl其中分子系数包含在矩阵num中,num行数与输出y的维数一致,每行对应一个输出,den是行向量,为传递函数阵公分母多项式系数。

8l例例2-3对于单输入多输出系统ll解解则可将其用下列MATLAB语句表示lnum=0032;1025;den=3521;lprintsys(num,den)9l2.1.2零极点增益形式零极点增益形式l单输入单输出系统的零极点模型可表示为l式中zj(j=1,2,m)和pi(i=1,2,n)称为系统的零点和极点,它们既可以为实数又可以为复数,而K称为系统的增益。

l在MATLAB下零极点模型可以由增益K和零、极点所构成的列向量唯一确定出来。

即lZ=z1;z2;zm;P=p1;p2;pn10l对于单输入多输出系统,列向量P中储存为系统的极点;零点储存在矩阵Z的列中,Z的列数等于输出向量的维数,每列对应一个输出,对应增益则在列向量K中。

11lMATLAB工具箱中的函数poly()和roots()可用来实现多项式和零极点间的转换,例如在命令窗口中进行如下操作可实现互相转换。

lP=1352;lR=roots(P)lR=l-1.2267+1.4677il-1.2267-1.4677il-0.5466lP1=poly(R)lP1=l1.00003.00005.00002.000012l2.1.3部分分式形式部分分式形式l传递函数也可表示成部分分式或留数形式,即ll(2-8)l式中pi(i=1,2,n)为该系统的n个极点,lri(i=1,2,n)是对应各极点的留数;lh(s)则表示传递函数分子多项式除以分母多项式的余式,若分子多项式阶次与分母多项式相等,h(s)为标量;若分子多项式阶次小于分母多项式,该项不存在。

l在MATLAB下它也可由系统的极点、留数和余式系数所构成的向量唯一确定出来,即lP=p1;p2;pn;R=r1;r2;rn;H=h0h1hm-n13l2.1.4状态空间表达式状态空间表达式l设线性定常连续系统的状态空间表达式为l(2-9)l式中A:

nn;B:

nr;C:

mn;D:

mrl如果传递函数(阵)各元素为严格真有理分式,则D0,此时上式可写为l(2-10)l它们可分别简记为(A,B,C,D)和(A,B,C)14l例例2-5设系统的状态空间表达式为ll解解此系统可由下面的MATLAB语句唯一地表示出来lA=001;-3/2-2-1/2;-30-4;lB=11;-1-1;-1-3;C=100;010;lD=zeros(2,2);152.2系统数学模型间的相互转换l2.2.1状态空间表达式到传递函数的转换状态空间表达式到传递函数的转换l在MATLAB控制系统工具箱中,给出一个根据状态空间表达式求取系统传递函数的函数ss2tf(),其调用格式为lnum,den=ss2tf(A,B,C,D,iu).l其中A,B,C,D为状态空间形式的各系数矩阵,iu为输入的代号,即用来指定第几个输入,对于单变量系统iu=1,对多变量系统,不能用此函数一次地求出对所有输入信号的整个传递函数阵。

而必须对各个输入信号逐个地求取传递函数子矩阵,最后获得整个的传递函数矩阵。

16l例例2-6对于例2-5中给出的多变量系统,可以由下面的命令分别对各个输入信号求取传递函数向量,然后求出这个传递函数阵。

l解解利用下列MATLAB语句lnum1,den1=ss2tf(A,B,C,D,1)lnum1=l01.00005.00006.0000l0-1.0000-5.0000-6.0000lden1=l1611617lnum2,den2=ss2tf(A,B,C,D,2),lnum2=l01.00003.00002.0000l0-1.0000-4.0000-3.0000lden2=l16116l则可得系统的传递函数阵printsys(num,den)18l2.2.2状态空间形式到零极点形式的转换状态空间形式到零极点形式的转换lMATLAB函数ss2zp()的调用格式为lZ,P,K=ss2zp(A,B,C,D,iu)l其中A,B,C,D为状态空间形式的各系数矩阵,iu为输入的代号,对于单变量系统iu1,对于多变量系统iu表示要求的输入序号,返回量列矩阵P储存传递函数的极点,而零点储存在矩阵Z中,Z的列数等于输出y的维数,每列对应一个输出,对应增益则在列向量K中。

19l2.2.3传递函数到状态空间表达式的转换传递函数到状态空间表达式的转换l如果已知系统的传递函数模型,求取系统状态空间表达式的过程又称为系统的实现。

由于状态变量可以任意地选取,所以实现的方法并不是唯一的,这里只介绍一种比较常用的实现方法。

l对于单输入多输出系统20l适当地选择系统的状态变量,则系统的状态空间表达式可以写成lll(2-16)l在MATLAB控制系统工具箱中称这种方法为能控标准型实现方法,并给出了直接实现函数,该函数的调用格式为A,B,C,D=tf2ss(num,den)l其中num的每一行为相应于某输出的按s的降幂顺序排列的分子系数,其行数为输出的个数,行向量den为按s的降幂顺序排列的公分母系数。

返回量A,B,C,D为状态空间形式的各系数矩阵。

21练习1将系统的传递函数模型转化为状态空间模型及零极点模型num=0.00010.02181.04369.3599;den=0.00060.02680.63656.2711;A,B,C,D=tf2ss(num,den);ABCDsys=tf(num,den)sys1=zpk(sys)22num=00-2;0-1-5;120;den=16116;A,B,C,D=tf2ss(num,den);ABCD已知单输入三输出系统的传递函数如下:

求其状态空间模型练习223l2.2.4传递函数形式到零极点形式的转换传递函数形式到零极点形式的转换lMATLAB函数tf2zp()的调用格式为lZ,P,K=tf2zp(num,den)l2.2.5零极点形式到状态空间表达式的转换零极点形式到状态空间表达式的转换lMATLAB函数zp2ss()的调用格式为lA,B,C,D=zp2ss(Z,P,K)l2.2.6零极点形式到传递函数形式的转换零极点形式到传递函数形式的转换lMATLAB函数zp2tf()的调用格式为lnum,den=zp2tf(Z,P,K)24num=1-0.52;den=10.41;z,p,k=tf2zp(num,den)z=0.2500+1.3919i0.2500-1.3919ip=-0.2000+0.9798i-0.2000-0.9798ik=1练习1求系统的零点、极点及增益25num=132;den=1920;z,p,k=tf2zp(num,den)z=-2-1p=-5.0000-4.0000k=1如果系统传递函数练习226练习3:

零极点增益模型:

num=1,11,30,0;den=1,9,45,87,50;z,p,k=tf2zp(num,den)z=0-6-5p=-3.0000+4.0000i-3.0000-4.0000i-2.0000-1.0000k=1结果表达式:

27l2.2.7传递函数形式与部分分式间的相互转换传递函数形式与部分分式间的相互转换lMATLAB的转换函数residue()调用格式为lR,P,H=residue(num,den)l或num,den=residue(R,P,H)l其中列向量P为传递函数的极点,对应各极点的留数在列向量R中,行向量H为原传递函数中剩余部分的系数,num,den分别为传递函数的分子分母系数。

28部分分式展开:

num=2,0,9,1;den=1,1,4,4;r,p,k=residue(num,den)p=0.0000+2.0000i0.0000-2.0000i-1.0000k=2r=0.0000-0.2500i0.0000+0.2500i-2.0000结果表达式:

29用法举例:

1)已知系统状态空间模型为:

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

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-5001001200313)系统的零极点增益模型:

z=-3;p=-1,-2,-5;k=6;num,den=zp2tf(z,p,k)num=00618den=181710a,b,c,d=zp2ss(z,p,k)a=-1.000000b=12.0000-7.0000-3.1623103.162300c=001.8974d=0l注意:

零极点的输入可以写出行向量,也可以写出列向量。

324)已知部分分式:

r=-0.25i,0.25i,-2;p=2i,-2i,-1;k=2;num,den=residue(r,p,k)num=2091den=1144注意余式一定要与极点相对应。

33l2.2.8相似变换相似变换l由于状态变量选择的非唯一性,系统传递函数的实现不

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1