欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
换一换
首页 沃文网 > 资源分类 > DOC文档下载
 

现代控制系统分析与设计

  • 资源ID:20055       资源大小:924.62KB        全文页数:46页
  • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: QQ登录   微博登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

加入VIP,免费下载资源
 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

现代控制系统分析与设计

1现代控制系统分析与设计一线性定常系统模型1.线性定常系统的数学模型在MATLAB中,线性定常(lineartimeinvariant,简称为LTI)系统可以用4种数学模型描述,即传递函数TF模型、零极点增益ZPK模型和状态空间SS模型以及SIMULINK结构图。前三种数学模型是用数学表达式表示的,且均有连续和离散两种类型,通常把它们统称为LTI模型。1传递函数模型(TF模型)令单输入单输出线性定常连续和离散系统的传递函数分别为011101asasasbsbsbsbsUsYsGnnnmmmm1-1和011101azazazbzbzbzbzUzYzGnnnmmmm。1-2在MATLAB中,连续系统和离散系统的传递函数都用分子/分母多项式系数构成的两个行向量num和den表示,即01bbbnumm,011aadenn系统的传递函数模型用MATLAB提供的函数tf建立。函数tf不仅能用于建立系统传递函数模型,也能用于将系统的零极点增益模型和状态空间模型转换为传递函数模型。该函数的调用格式如下,dennumtfG返回连续系统的传递函数模型G。,,TsdennumtfG返回离散系统的传递函数模型G。Ts为采样周期,当Ts-1或者Ts[]时,系统的采样周期未定义。GtfGtf可将任意的LTI模型G转换为传递函数模型Gtf。例1-1已知一个系统的传递函数为6116623ssssG建立传递函数模型。在命令窗中运行下列命令num6;den[16116];Gtfnum,den返回Transferfunction6----------------------s36s211s62零极点增益模型(ZPK模型)2系统的零极点增益模型是传递函数模型的一种特殊形式。令线性定常连续和离散系统的零极点形式的传递函数分别为2121nmpspspszszszsKsUsYsG1-3和2121nmpzpzpzzzzzzzKzUzYzG1-4在MATLAB中,连续和离散系统的零点和极点都用行向量z和p表示,即mzzzz21,npppp21。系统的零极点增益模型用MATLAB提供的函数zpk建立。函数zpk不仅能用来建立系统零极点增益模型,也能用于将系统的传递函数模型和状态空间模型转换为零极点增益模型。该函数的调用格式如下,,kpzzpkG返回连续系统的零极点增益模型G。,,,TskpzzpkG返回离散系统的零极点增益模型G。Ts为采样周期,当Ts-1或者Ts[]时,系统的采样周期未定义。GzpkGzpk可将任意的LTI模型G转换为零极点增益模型Gzpk。例1-2已知系统的传递函数为3216ssssG建立系统的零极点增益模型。在命令窗中运行下列命令z[];p[-1-2-3];k6;Gzpkz,p,k返回Zero/pole/gain6-----------------s1s2s3注意无零点时,设z为空。3状态空间模型SS模型令多输入多输出线性定常连续和离散系统的状态空间表达式分别为tButAxtxtDutCxty(1-5)和1kBukAxkx3kDukCxky(1-6)在MATLAB中,连续系统和离散系统的状态空间模型都用MATLAB提供的函数ss建立。函数ss不仅能用于建立系统的状态空间模型,也能用于将系统的传递函数模型和零极点增益模型转换为状态空间模型。该函数的调用格式如下,,,DCBAssG返回连续系统的状态空间模型G。,,,,TsDCBAssG返回离散系统的状态空间模型G。Ts为采样周期,当Ts1或者Ts[]时,系统的采样周期未定义。GssGss可将任意的LTI模型G转换为状态空间模型Gs。例1-3已知系统的状态空间表达式为uxx1006116100010xy006建立系统的状态空间模型。在命令窗中运行下列命令A[010;001;-6-11-6];B[0;0;1];C[600];D0;GssA,B,C,D返回ax1x2x3x1010 x2001x3-6-11-6bu1x10 x20 x31cx1x2x3y1600du1y10Continuous-timemodel.注意D0不能缺省。2.模型转换上述三种LTI模型之间可以通过函数tf,zpk和ss相互转换。线性定常系统的传递函数模型和零极点增益模型是唯一的,但系统的状态空间模型是不唯一的。函数ss只能将4传递函数模型和零极点增益模型转换为一种指定形式的状态空间模型。例1-4已知系统的传递函数,建立TF模型,将其转换为ZPK模型和SS模型。再将转换得到的SS模型转换为TF模型。254523ssssG编制如下程序ex14。ex14num5;den[1452];Gtftfnum,den;GzpkzpkGtfGssssGtfGtf1tfGss在命令窗中运行该程序,即ex14返回Zero/pole/gain5-------------s2s12ax1x2x3x1-4-2.5-0.5x2200 x3020bu1x11x20 x30cx1x2x3y1001.25du1y10Continuous-timemodel.Transferfunction5---------------------s34s25s2传递函数可以转换为约旦标准型(包括对角标准型)、能控标准型和能观测标准型。我们编制的函数jordants可用部分分式展开将传递函数转换为对角标准型或约当标准型。该函数的调用格式为,dennumjordantsGJ5其中num和den分别为传递函数分子和分母多项式系数的行向量,GJ为转换得到对角标准型或约当标准型。该函数的程序如下functionGjjordantsnum,den用部分分式展开将传递函数转换为约当标准型[R,P,K]residuenum,den;j1;qP1;m10;fori1lengthPifPiqmjmj1;elseqPi;jj1;mj1;endend计算各极点的重数AjdiagP;fori1lengthP-1ifAji,iAji1,i1Aji,i11;elseAji,i10;endend构造系统矩阵AjB10;l0;forj1lengthmllmj;B1l1;endBjB1;构造输入矩阵Bjn1;lm1;Cj,1m1rot90R1m1,,3;fork2lengthmnl1;llmk;Cj,nlrot90Rnl,,3;end构造输出矩阵CjifK[]Dj0;elseDjK;end构造直联矩阵DjGjssAj,Bj,Cj,Dj;例1-5已知系统的传递函数为6116623ssssG将其转换为对角标准型。6在命令窗中运行下列命令num[6];den[16116];Gjcanontfnum,den,modal返回ax1x2x3x1-300 x20-20 x300-1bu1x1-7.762x2-9.798x32.872cx1x2x3y1-0.38650.61241.044du1y10Continuous-timemodel.例1-6已知系统的传递函数为48511171022323sssssssG将其转换为约当标准型。在命令窗中运行下列命令num[2101711];den[1584];Gjjordantsnum,den返回ax1x2x3x1-210 x20-20 x300-1bu1x10 x217x31cx1x2x3y1-1-22du1y12Continuous-timemodel.我们编制的函数ctrlts可将传递函数转换为能控标准型。该函数的调用格式为,dennumctrltsGc其中num和den分别为传递函数的分子和分母多项式系数的行向量,Gc为转换得到的能控标准型。该函数的程序如下functionGcctrltsnum,den将传递函数转换为能控标准型mlengthnum-1;nlengthden-1;ifmn[R,P,K]residuenum,den;num1num-K*den;An,-1*rot90den,2n1,2;A1n-1,2neyen-1;A1n-1,1zerosn-1,1;B[zerosn-1,1;1];Crot90num1,2n1,2;DK;elseAn,-1*rot90den,2n1,2;A1n-1,2neyen-1;A1n-1,1zerosn-1,1;B[zerosn-1,1;1];C,1m1rot90num,2;C,m2nzeros1,n-m-1;D0;endGcssA,B,C,D;例1-7将例1-6中的传递函数转换为能控标准型。在命令窗中运行下列命令num[2101711];den[1584];Gcctrltsnum,den返回ax1x2x3x1010 x2001x3-4-8-5b8u1x10 x20 x31cx1x2x3y1310du1y12Continuous-timemodel.进一步,求能控标准型的对偶系统可得能观测标准型。在命令窗中运行下列命令AoGc.a;BoGc.c;CoGc.b;DoGc.d;GossAo,Bo,Co,Do返回ax1x2x3x100-4x210-8x301-5bu1x13x21x30cx1x2x3y1001du1y12Continuous-timemodel.下面是介绍MATLAB提供的三个函数tfdata,zpkdata,ssdata。函数tfdata可得到传递函数模型的分子分母多项式系数。其调用格式为,],[vGtfdatadennum其中G为系统LTI模型。num和den分别为分子和分母多项式的系数向量。函数zpkdata可得到零极点增益模型的零点、极点和增益。其调用格式为,],,[vGzpkdatakpz其中G为系统LTI模型。z和p分别为零点和极点向量,k为增益。函数ssdata可得到状态空间模型的系数矩阵。其调用格式为,],,,[vGssdataDCBA其中G为系统LTI模型。A,B,C,D为系数矩阵。93.模型的连接1串联连接设线性定常系统1和2的LTI模型分别为1G和2G。在MATLAB中,两者的串联连接(参教材)可由命令12*GGG实现,其中G为整个系统的LTI模型。多个系统的串联连接可由命令11***GGGGnn实现。2并联连接设线性定常系统1和2的LTI模型分别为1G和2G。在MATLAB中,两者的并联连接(参教材)可由命令21GGG实现,其中G为整个系统的LTI模型。多个系统的并联连接可由命令nGGGG21实现。3反馈连接设线性定常系统1和2的LTI模型分别为1G和2G。在MATLAB中,两者的反馈连接(参教材)可由MATLAB提供的函数feedback实现。该函数的调用格式为,,21SignGGfeedbackG其中G为整个系统LTI模型。如果Sign-1或省略Sign变量,则表示负反馈。如果Sign1,则表示正反馈。4.状态空间表达式的相似变换线性定常系统状态空间表达式为,,,DCBA,假设存在一个非奇异矩阵T将原状态x变换为zTx,则状态z对应的状态空间表达式为,,,DCBA,其中1TATA,TBB,1CTC。MATLAB提供函数ss2ss可完成状态空间模型的相似变换。该函数调用格式为,2TGssssGt其中G为原状态空间模型。T为变换矩阵。Gt为经变换得到的状态空间模型。例1-8考虑一个系统,它的状态空间表达式为uxx113210xy01由于该系统的系统矩阵A为友矩阵,所以可由其特征值构造变换矩阵。令变换矩阵T为12111T。10在命令窗中运行下列命令A[01;-2-3];B[11];C[10];GssA,B,C,0;Tinv[11;-1-2];G1ss2ssG,T返回ax1x2x1-10 x20-2bu1x13x2-2cx1x2y111du1y10Continuous-timemodel.通过线性变换可将状态空间表达式变换为约当标准型(包括对角标准型),能控标准型和能观测标准型。MATLAB提供的函数canon可将状态空间表达式变换为对角标准型或约当标准型。该函数的调用格式为mod,alGcanonGJ其中G为原状态空间模型,而GJ为转换得到的对角标准型或约当标准型。但该函数在系统含有重特征值时,效果不甚理想。例1-9利用函数canon将例1-8中状态空间表达式变换为对角标准型。在命令窗中运行下列命令A[01;-2-3];B[11];C[10];GssA,B,C,0;G1canonG,’modal’返回ax1x2x1-10 x20-2bu1x14.243x24.472cx1x2y10.7071-0.4472du1y1011Continuous-timemodel.如果SISO线性定常系统,,,DCBA完全能控,则可通过非奇异线性变换将状态空间表达式,,,DCBA变换为能控标准型。我们编制的函数ctrlss可实现这一变换。该函数的调用格式为GctrlssGc其中G为原来的状态空间模型。Gc为转换得到的能控标准型。该函数程序如下functionGcctrlssA,B,C,D将状态空间表达式变换为能控标准型nlengthA;UcctrbA,B;UinvUc;p1Un,;fori1nTi,p1*Ai-1;endAcT*A*invT;BcT*B;CcC*invT;GcssAc,Bc,Cc,D;例1-10考虑一个系统,它的状态空间表达式为uxx112122211220xy111将其转换为能控标准型。在命令窗中运行下列命令A[02-2;11-2;2-21];B[211];C[111];D0;GcctrlssA,B,C,D返回ax1x2x3x1-4.441e-01611.665e-016x2-8.882e-01601x3-212bu1x11.388e-017x20 x31c12x1x2x3y1-20-44du1y10Continuous-timemodel.试编将状态空间表达式变换为能观测标准型的函数。二线性定常系统状态方程的解1、线性定常连续系统状态转移矩阵的计算线性定常连续系统的状态转移矩阵为][11AsILetAt。(3-2-1)在MATLAB中,状态转移矩阵可直接用指数矩阵法和拉氏反变换法计算。例2-1求系统矩阵A对应的状态转移矩阵。3210A指数矩阵法在命令窗中运行下列命令A[01;-2-3];symst;phetexpmA*t返回phet[-exp-2*t2*exp-t,exp-t-exp-2*t][-2*exp-t2*exp-2*t,2*exp-2*t-exp-t]拉氏反变换法在命令窗中运行下列命令A[01;-2-3];symss;Ginvs*eyesizeA-A返回G[s3/s23*s2,1/s23*s2][-2/s23*s2,s/s23*s2]即1AsI。再对其进行拉氏逆变换,即在命令窗中输入语句phetilaplaceG返回phet[-exp-2*t2*exp-t,exp-t-exp-2*t][-2*exp-t2*exp-2*t,2*exp-2*t-exp-t]2.线性定常连续系统的状态方程求解如果线性定常连续系统的状态空间表达式为BuAxxDuCxy13且初始状态为0x,那么状态方程解的拉氏变换式为011sBuAsIxAsIsx(3-2-2)其解为ttAAtdButx00(3-2-3)其中零输入响应为0xeAt或0}{11xAsIL(3-2-4)零状态响应为dBuettA0或}{11sBuAsIL(3-2-5)系统的输出响应为}0{111tDusBuAsICxAsICL(3-2-6)例2-2已知系统的状态方程为uxx103210试求初始状态为110x,输入分别为1ttu和ttu时状态方程的解。编制程序ex22求输入为1ttu时状态方程的解。该程序如下A[01;-2-3];B[01];symss;Ginvs*eyesizeA-A;phetilaplaceG;X0[1-1];Xt1phet*X0Xt2ilaplaceG*B*1/s在命令窗中运行该程序,即ex22返回xt1[exp-t][-exp-t]xt2[1/2-exp-t1/2*exp-2*t][exp-t-exp-2*t]其中xt1为零输入响应,xt2为零状态响应。将该程序中ssu1用21ssu代替可求出输入为单位斜坡函数时状态方程的解xt1[exp-t][-exp-t]xt2[1/2*t-3/4-1/4*exp-2*texp-t][1/2-exp-t1/2*exp-2*t]上述得到的是状态方程的解析解,MATLAB提供的函数step、impulse、lsim和14initial可以求得系统响应的数值解。函数step可直接求取线性连续系统的单位阶跃响应。该函数的调用格式为,tGstepy其中G为给定系统LTI模型,t为时间向量。通常取t0dtt-end,其中t-end为终值时间,而dt为时间步长。y为系统输出。Gstepy这时时间向量t自动生成。,],,[tGstepxty或],,[Gstepxty如果G为状态空间模型,则x为系统状态向量,否则x将返回空矩阵。,tGstep或Gstep此时不返回任何变量,而自动地绘制单位阶跃响应输出曲线。函数impulse可直接求取线性系统的单位脉冲响应。该函数的调用格式与函数step的调用格式相似。函数lsim可直接求取线性系统在任意输入信号作用下的响应。该函数的调用格式为,,tuGlsimy其中u为与时间向量t对应的输入向量。当然还可以和step函数一样有其它的调用格式。函数initial可求解系统的零输入响应。该函数的调用格式为0,xGinitialy或0,],,[xGinitialxty其中G为状态空间模型,x0为初始状态。例2-3已知系统为uxx103210xy11初始状态为110x,试求ut为单位阶跃函数时系统状态响应和输出响应,并绘制状态响应曲线和输出响应曲线。在命令窗中运行下列命令,建立状态空间模型,计算系统在初始状态作用下的状态响应和输出响应,并绘制相应的响应曲线。A[01;-2-3];B[0;1];C[11];D0;GssA,B,C,D;t00.510;x0[1;-1];[yo,t,xo]initialG,x0,t;plott,xo,,t,yo,-返回图1。15图1状态响应图2输出响应在命令窗中继续运行下列命令,计算系统在输入作用下的状态响应和输出响应,并绘制相应的响应曲线。figurepos,[5050200150],color,wuonessizet;[yu,t,xu]lsimG,u,t;plott,xu,,t,yu,-返回图2。再继续运行下列命令求系统总的状态响应和输出响应,并绘制相应的响应曲线。yyoyu;xxoxu;plott,x,,t,y,-返回图3。图3图4例2-4已知系统uxx026510xy21求出系统在初始状态为零,且0tetut时系统的状态响应和输出响应。在命令窗中运行下列命令A[01;-5-6];B[2;0];C[12];D0;GssA,B,C,D;t00.520;uexp-t;[y,t,x]lsimG,u,t;plott,x,k,t,y,-k可得状态响应和输出响应的数值解以及相应的曲线,如图4。也可编制如下程序ex24,先求状态方程的解析解再求数值解,然后绘制曲线。ex2416figurepos,[5050200150],color,w;A[01;-5-6];B[2;0];C[12];symss;Ginvs*eyesizeA-A;phetilaplaceG;计算状态转移矩阵u1/s1;xilaplaceG*B*u;计算状态响应的解析解yC*x;计算输出响应的解析解fori161tt0.1*i-1;xt,isubsx,t,tt;ytisubsy,t,tt;end计算状态响应和输出响应的数值解plot060,xt,k,060,yt,-kgtexty,FontSize,8gtextx1,FontSize,8gtextx2,FontSize,8在命令窗中运行该程序得到状态和输出响应解析解和数值解,以及相应的曲线如图5。图5状态和输出响应曲线图6阶跃响应曲线3.线性定常离散系统状态方程的解如果线性定常离散系统的状态空间表达式为1kHukGxkxkDukCxky(3-2-7)初始状态为0x,那么状态方程的解为}{0}{1111zHUGzIZxzGzIZkx(3-2-8)系统的状态转移矩阵为}{11zGzIZGkk(3-2-9)系统的输出为}{0}{1111kDuzHUGzICZxzGzICZky(3-2-10)17例2-5已知系统10116.0101kukxkx11kxky求状态转移矩阵,求初始状态为零时系统的单位阶跃响应。编制程序ex251求状态转移矩阵。该程序如下ex251G[01;-0.16-1];symsz;phezinvz*eyesizeG-G*z;计算zGzI1phekiztransphez计算}{11zGzIZ在命令窗中运行该程序后返回phek[4/3*-1/5n-1/3*-4/5n,5/3*-1/5n-5/3*-4/5n][-4/15*-1/5n4/15*-4/5n,-1/3*-1/5n4/3*-4/5n]编制程序ex252求出系统的单位阶跃响应并绘制阶跃响应曲线。该程序如下ex252figurepos,[5050200150],color,w;G[01;-0.16-1];H[0;1];C[1-1];D0;u1;n20;ydstepG,H,C,D,u,n;dstepG,H,C,D,u,n;在命令窗中运行该程序后得到系统的阶跃响应曲线如图6。三线性定常系统的能控性和能观测性1.能控性1)线性定常系统状态能控性的判断n阶线性定常连续或离散系统,BA状态完全能控的充分必要条件是能控性矩阵BABAABBUnc12的秩为n。能控性矩阵可用MATLAB提供的函数ctrb自动产生,其调用格式为,BActrbUc其中A,B分别为系统矩阵和输入矩阵,cU为能控性矩阵。能控性矩阵的秩即cUrank称为能控性指数,表示系统能控状态变量的数目,可由MATLAB提供的函数rank求出。18例3-1判断系统的能控性uxx111112310020231xy010112在命令窗中运行下列命令A[132;020;013];B[21;11;-1-1];UcctrbA,B;rankUc返回ans2因为rankUc2n,所以系统的状态不完全能控。也可编制判断系统状态能控性的函数sctrb,其程序如下functionsctrbA,B判断系统状态的能控性UcctrbA,B;ncrankUc;nlengthA;ifnncdispsystemiscompletelystatecontrollableelsedispsystemisnotcompletelystatecontrollableend在命令窗中运行下列命令A[132;020;013];B[21;11;-1-1];sctrbA,B返回systemisnotcompletelystatecontrollable2)线性定常系统输出能控性的判断线性定常连续或离散系统,,,DCBA输出能控的充分必要条件是rnm1矩阵DBCABCACABCBUny12的秩为m,其中r为系统的输入个数,m为输出个数。矩阵yU可以通过能控性矩阵cU得到,即DUCUcy*例3-2判断系统的输出能控性uxx150154xy11在命令窗中运行下列命令A[-45;10];B[-5;1];C[1-1];D0;UcctrbA,B;Uy[C*UcD];rankUy19返回ans1因为rankUy1m,故系统是输出能控的。类似的,也可编制判断输出能控性的函数。2.能观测性n阶线性定常连续或离散系统,CA状态完全能观测的充分必要条件是能观测性矩阵1n2CACACACoV的秩为n。能观测性矩阵可以用MATLAB提供的函数obsv自动产生,其调用格式为,CAobsvVo其中A,C分别为系统矩阵和输出矩阵,oV为能观测性矩阵。能观测性矩阵的秩即oVrank称为能观测性指数,表示系统能观测状态变量的数目。可由MATLAB提供的函数rank求出。例3-3判断例1中系统的能观测性在命令窗中运行下列命令A[132;020;013];C[211;010];VoobsvA,C;rankVo返回ans3因为rankVo3n,故系统状态完全能观测。类似地,也可编制判断状态能观测性的函数。3.线性系统的结构分解1按能控性分解如果线性系统的状态不完全能控,则可通过非奇异线性变换,将系统或状态分解为能控和不能控两部分。MATLAB提供的函数ctrbf,可将系统或状态分解为如下形式uBxxAAAxxccccccc0021ccccxxCCy(3-3-1)该函数的调用格式为,,CBActrbfKTCBAccccc20其中CBA为给定系统的状态空间模型,cccCBA为分解后系统的状态空间模型。cT为相应线性变换矩阵,cK返回系统中能控状态变量的数目。例3-4按能控性分解uxx011310301100xy210在命令窗中运行下列命令A[00-1;10-3;01-3];B[1;1;0];C[01-2];[AcBcCcTcKc]ctrbfA,B,C返回Ac-1.00000.0000-0.0000-2.1213-2.50000.8660-1.2247-2.59810.5000Bc00-1.4142Cc1.73211.2247-0.7071Tc-0.57740.5774-0.57740.4082-0.4082-0.8165-0.7071-0.70710Kc110另一种按能控性分解的形式为uBxxAAAxxccccccc0012ccccxxCCy(3-3-2)将由ctrbf函数得到的各系数矩阵均利用MATLAB提供的函数rot90()旋转180就可得这种形式。函数rot90的调用格式为,90karot将矩阵a逆时针旋转90k.我们编制的函数cdescom能够将系统分解为这种形式。该函数的调用格式为,,CBAcdescomkTcCcBcAc21其中,,CBA为给定系统的状态空间模型,CcBcAc,,为分解后系统的状态空间模型。Tc为相应的线性变换矩阵。k表示能控状态变量的数目。该函数的程序如下function[Ac,Bc,Cc,Tc,k]cdescomA,B,C按能控性分解UctrbA,B;mrankU;nsizeA,1;ifmnt1U,1;fori2n*mt2[t1,U,i];ifrankt2it1t2;elset1t1;endifrankt1mbreak;endendpzerosn-m,n;fori0mp1n-m,m1-in-ieyen-m,n-m;Tc[t1,p];ifrankTcnbreak;endendAcinvTc*A*Tc;BcinvTc*B;CcC*Tc;km;end在命令窗中运行下列命令A[00-1;10-3;01-3];B[1;1;0];C[01-2];[AcBcCcTc]cdescomA,B,C返回Ac0-1-11-2-200-1Bc100Cc221-1-2Tc100110011k22按能观测性分解如果线性系统状态不完全能观测,则可通过非奇异线性变换将系统或状态分解为能观测和不能观测两部分。MATLAB提供的函数obsvf可将系统或状态分解为如下形式uBBxxAAAxxoooooooo012oooxxCy0(3-3-3)该函数的调用格式为,,CBAobsvfKTCBAooooo其中CBA为给定系统的状态空间模型,oooCBA为分解后系统的状态空间模型。oT为相应的线性变换矩阵,oK返回系统能观状态变量的数目。例3-5按能观测分解例3-4中系统可在命令窗中运行下列命令进行分解A[00-1;10-3;01-3];B[1;1;0];C[01-2];[AoBoCoToKo]obsvfA,B,C另一种按能观测性分解的形式为uBBxxAAAxxoooooooo210oooxxCy0(3-3-4)将由ctrbf函数得到的各系数矩阵均利用MATLAB提供的函数rot90()旋转180就可得这种形式。我们编制的函数odescom能够将系统分解为这种形式。该函数的调用格式为,,CBAodescomkToCoBoAo其中,,CBA为给定系统的状态空间模型,CoBoAo,,为分解后系统的状态空间模型。To为相应的线性变换矩阵。k表示能观测的状态变量的数目。该函数的程序如下function[Ao,Bo,Co,To,k]odescomA,B,C按能观测性分解23VobsvA,C;mrankV;nsizeA,1;ifmnt1V1,;fori2n*mt2[t1;Vi,];ifrankt2it1t2;elset1t1;endifrankt1mbreak;endendpzerosn-m,n;fori0mp1n-m,m1-in-ieyen-m,n-m;To[t1;p];ifrankTonbreak;endendAoTo*A*invTo;BoTo*B;CoC*invTo;km;end在命令窗中运行下列命令A[00-1;10-3;01-3];B[1;1;0];C[01-2];[AoBoCoTok]odescomA,B,C返回Ao010-1-2010-1Bo1-10Co100To01-2241-23001k23按能控性和能观测性分解(Kalman分解)如果线性系统的状态不完全能控和不完全能观测,则可通过非奇异线性变换将系统或状态分解为能控能观测、能控不能观测、不能控能观测和不能控不能观测四部分。uBBxxxxAAAAAAAAAxxxxoccoocococcoocococcoocococco0000000004324232113ocococcooccoxxxxCCy00(3-3-5)可利用函数ctrbf、obsvf编制按能控性和能观测性分解函数kalmdec,该函数调用格式为,,CBAkalmdecTCBAkkkk其中CBA为给定系统的状态空间模型,kkkCBA为分解以后系统的状态空间模型,kT为线性变换矩阵。该函数的程序如下function[Ak,Bk,Ck,Tk]kalmdecA,B,C按能控能观测性分解[Ac,Bc,Cc,Tc,Kc]ctrbfA,B,C;ncrankctrbA,B;nlengthA;icn-nc1n;[Ao1,Bo1,Co1,To1,Ko1]obsvfAcic,ic,Bcic,Cc

注意事项

本文(现代控制系统分析与设计)为本站会员(星星008)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2017-2019 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号  

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922