实验八MATLAB状态空间分析_第1页
实验八MATLAB状态空间分析_第2页
实验八MATLAB状态空间分析_第3页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、实验八线性系统的状态空间分析8.1用MATLAB分析状态空间模型1、状态空间模型的输入线性定常系统状态空间模型X Ax Bu y Cx DuABCD将各系数矩阵按常规矩阵形式描述。不盹小弘;小;a.2 小 a.bo E 小 bnco G E Cnd;在MATLAB里,用函数 SS()来建立状态空间模型sys ss(A, B,C, D)例8.1已知某系统微分方程d2y3y237y5udtdt求该系统的状态空间模型。解:将上述微分方程写成状态空间形式010A,B731C 50,D 0调用MATLAB函数SS(),执行如下程序% A=0 1;-7 -3;B=0;1;C=5 0;D=0;sys=ss(

2、A,B,C,D)运行后得到如下结果a =x1 x2x1 01x2 -7-3b =u1x10x21c =x1 x2y1 50d =u1y1 0Con ti nu ous-time model.2、状态空间模型与传递函数模型转换状态空间模型用sys表示,传递函数模型用G表示。G=tf(sys)sys=ss(G)状态空间表达式向传递函数形式的转换G=tf(sys)Or n um,de n=ss2tf(A,B,C,D)多项式模型参数n um,de n=ss2tf(A,B,C,D,iu)z,p,k=ss2zp(A,B,C,D,iu)零、极点模型参数iu用于指定变换所需的输入量,iu默认为单输入情况。传递

3、函数向状态空间表达式形式的转换sys=ss(G) or A,B,C,D=tf2ss( num,de n)A,B,C,D=zp2ss(z,p,k)例8.2*y20.56 0.05 xi0.250 x210 x101 x20.03 1.14 u10.110 u2试用矩阵组a,b,c,d表示系统,并求出传递函数。% b=0.03 1.14;0.11 0;c=1 0;0 1;d=zeros(2,2);sys=ss(a,b,c,d)G仁 tf(sys)G2=zpk(sys)运行后得到如下结果a =x1x2x1 -0.560.05x2 -0.250b =u1u2x1 0.031.14x2 0.110 c

4、=x1 x2y1 10y2 01d =u1 u2y100y200Con ti nu ous-time model.Tran sfer function from in put 1 to output.0.03 s + 0.0055#1:sA2 + 0.56 s + 0.01250.11 s + 0.0541#2:sA2 + 0.56 s + 0.0125Tran sfer function from in put 2 to output.1.14 s#1:sA2 + 0.56 s + 0.0125-0.285#2:sA2 + 0.56 s + 0.0125Zero/pole/ga in fro

5、m in put 1 to output.0.03 (s+0.1833)#1:(s+0.5367) (s+0.02329)0.11 (s+0.4918)#2:(s+0.5367) (s+0.02329)Zero/pole/ga in from in put 2 to output.1.14 s#1:(s+0.5367) (s+0.02329)-0.285#2:(s+0.5367) (s+0.02329)例8.3考虑下面给定的单变量系统传递函数G(s)s3 7 s2 24 s 24432s 10s35s50s 24由下面的MATLAB语句直接获得状态空间模型。 num=1 7 24 24; de

6、n=1 10 35 50 24; G=tf(nu m,de n); sys=ss(G)运行后得到如下结果:x1x2x3x4x1-10-4.375-3.125-1.5x2x3x4b =u1x12x20x3 0x4 0x1x2x3x4y10.50.43750.750.75d =u1y1 0Con ti nu ous-time model.3. 线性系统的非奇异变换与标准型状态空间表达式syst=ss2ss(sys,T)sys, syst分别为变换前、后系统的状态空间模型,T为非奇异变换阵。At,Bt,Ct,Dt=ss2ss(A,B,C,D,T)(A,B,C,D)、( At,Bt,Ct,Dt )分别

7、为变换前、后系统的状态空间模型的系数矩阵。8.2利用MATLAB求解系统的状态方程线性定常连续系统状态方程Ax Bu, x(0) x0, t 0状态响应x(t)t(t)Xo0 (t)Bu( )d , t 0式中状态转移矩阵(t) eAt,则有Att A(t )x(t) e x(0) oe Bu( )d , t 01 .用 MATLAB中expm(A)函数计算状态转移矩阵At例8.420 u , x(0)求当t0.2时,状态转移矩阵即At A=0 -2;1 -3; dt=0.2; phi=expm(A*dt)得到如下结果phi =0.9671-0.29680.14840.5219计算t0.2时系

8、统的状态响应x1x2 t 0.2eAt t 0.2 x(0)0.96710.2968 N (0)0.1484 0.5219x2(0)0.67030.67032.用 step() , impulse。求阶跃输入,脉冲输入响应例8.5连续二阶系统0.75240.7268 为 11*0.72680x202 u2Xiy 2.8776 8.9463X2求系统的单位阶跃响应% A=-0.7524 -0.7268;0.7268 0;B=1 -1;0 2;C=2.8776 8.9463;D=0;step(A,B,C,D);figure(1)grid on ;title(单位阶跃响应)xlabel(时间)yla

9、bel(振幅)运行结果时间(sec)3 .用initial()函数,求系统的零输入响应y,t,x=in itial(sys,x0)6.5例中,当输入u 0时,状态初值x(0)0.20.2A=-0.7524 -0.7268;0.7268 0;B=1 -1;0 2;C=2.8776 8.9463;D=0;t=0:0.01:15;u=0; sys=ss(A,B,C,D);x0=0.2 0.2;y,t,x=in itial(sys,x0,t) plot(t,x)运行结果8.3系统的可控性与可观性分析1.线性定常系统的可控性分析x Ax Buy Cx Du可控性矩阵Uc B,AB,A2Bj|1An 1B

10、,系统完全可控 rank % n。在MATLAB中,可用ctrb (A, B)函数求可控性矩阵Ucctrb(A,B)12001例8.6X 110 x10 u,判断系统的可控性。00111% A=1 2 0;1 1 0;0 0 1;B=0 1;1 0;1 1;n=3;CAM=ctrb(A,B);rcam=ra nk(CAM);if rcam=ndisp( system is con trolled ) elseif rcamcAn 1系统可观rankU0 n在 MATLAB中,可用函数obsv(A,C)确定可观性矩阵。例 8.8 x2 31 121xu,yxr2 21 112确定可观性。% A=

11、-2 3;3 -2;B=1 1;1 1;C=2 1;1 -2;D=0;n=2;ob=obsv(A,C); roam=ra nk(ob); if roam=ndisp( system is observable )elseif roam=ndisp( system is no observable ) end运行结果system is observable8.4用MATLAB实现极点配置1.调用place函数进行极点配置k=place(A,B,P)A,B为系统系数矩阵,P为配置极点,k为反馈增益矩阵。例8.9给定状态方程010001 00101xxu , y 1 2 3 4 xT 0001000

12、1101将极点配置在s1, 2, 1j,确定反馈增益矩阵 k。% A=0 1 0 0;0 0 -1 0;0 0 0 1;0 0 11 0; B=0;1;0;-1;eig(A);P=-1;-2;-1+sqrt(-1);-1-sqrt(-1);k=place(A,B,P)eig(A-B*k)运行结果如下:-0.4000-1.0000-21.4000-6.0000 ans =-2.0000-1.0000 - 1.0000i-1.0000 + 1.0000i-1.00002.调用Ackerann公式计算状态反馈矩阵kA=0 1 0 0;0 0 -1 0;0 0 0 1;0 0 11 0;b=0;1;0

13、;-1;eig(A)P=-1;-2;-1+sqrt(-1);-1-sqrt(-1);k = ACKER(A,b,P)eig(A-b*k)运行结果k =-0.4000-1.0000-21.4000-6.00008.5用MATLAB设计状态观测器例6.10 已知系统状态方程010001 00101xu , y 10 0 0 x1 00010001101(1)判别可观性;(2)若系统可观,设计全维状态观测器,使闭环极点为2, 3, 2 j, 2 j。%example4.10%输入系统状态方程a=0 1 0 0;0 0 -1 0;0 0 0 1;0 0 11 0;b=0;1;0;-1;c=1 0 0 0;n=4;%计算可观性矩阵ob=obsv(a,c);roam=ra nk(ob);%判断可观性if roam=ndisp( system is observable )elseif roam=ndisp( system is no observable )end%求解反馈增益矩阵 a=0

温馨提示

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

评论

0/150

提交评论