欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    现代控制理论实验报告.doc

    • 资源ID:4193216       资源大小:845KB        全文页数:62页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    现代控制理论实验报告.doc

    现代控制理论 实验报告1005044114信息与通信工程学院张磊 学生姓名: 学号: 电气工程及其自动化学 院: 专 业: 现代控制理论实验实验一 线性定常系统模型一 实验目的1. 掌握线性定常系统的状态空间表达式。学会在MATLAB中建立状态空间模型的方法。2. 掌握传递函数与状态空间表达式之间相互转换的方法。学会用MATLAB实现不同模型之间的相互转换。3. 熟悉系统的连接。学会用MATLAB确定整个系统的状态空间表达式和传递函数。4. 掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当标准型、能控标准型和能观测标准型的方法。学会用MATLAB进行线性变换。二 实验内容1. 已知系统的传递函数(a) (b) (1)建立系统的TF或ZPK模型。(2)将给定传递函数用函数ss( )转换为状态空间表达式。再将得到的状态空间表达式用函数tf( )转换为传递函数,并与原传递函数进行比较。(3)将给定传递函数用函数jordants( )转换为对角标准型或约当标准型。再将得到的对角标准型或约当标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。(4)将给定传递函数用函数ctrlts( )转换为能控标准型和能观测标准型。再将得到的能控标准型和能观测标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。实验数据为 实验1 (a) (1) >> z=,p=0 -1 -1 -3z = p = 0 -1 -1 -3>> G=zpk(z,p,4)Zero/pole/gain: 4-s (s+1)2 (s+3) (2)>> G=ss(G) a = x1 x2 x3 x4 x1 0 1 0 0 x2 0 -1 1 0 x3 0 0 -1 1 x4 0 0 0 -3 b = u1 x1 0 x2 0 x3 0 x4 2 c = x1 x2 x3 x4 y1 2 0 0 0 d = u1 y1 0 Continuous-time model.>> G=tf(G) Transfer function: 4-s4 + 5 s3 + 7 s2 + 3 s实验一 1 b(1)>> z=-2 -4,p=-1 -3z = -2 -4p = -1 -3>> G=zpk(z,p,1) Zero/pole/gain:(s+2) (s+4)-(s+1) (s+3)(2)>> G=ss(G) a = x1 x2 x1 -1 1 x2 0 -3 b = u1 x1 1 x2 1 c = x1 x2 y1 1 1 d = u1 y1 1 Continuous-time model.>> G=tf(G) Transfer function:s2 + 6 s + 8-s2 + 4 s + 3实验一 2J5QiR; #(2#)a#(1#)>>A=0 1;-5 -6;B=0;1;C=1 1;D=0;G=ss(A,B,C,D)Geig=eig(G)Gtf=tf(G)Gzpk=zpk(Gtf) a = x1 x2 x1 0 1 x2 -5 -6 b = u1 x1 0 x2 1 c = x1 x2 y1 1 1 d = u1 y1 0 Continuous-time model.Geig = -1 -5 Transfer function: s + 1-s2 + 6 s + 5 Zero/pole/gain: (s+1)-(s+5) (s+1)#(2#)>> A=0 1;-5 -6;B=0;1;C=1 1;D=0;G=ss(A,B,C,D)Gcanon=canon(G)Geig=eig(Gcanon)Gtf=tf(Gcanon)Gzpk=zpk(Gtf) a = x1 x2 x1 0 1 x2 -5 -6 b = u1 x1 0 x2 1 c = x1 x2 y1 1 1 d = u1 y1 0 Continuous-time model. a = x1 x2 x1 -1 0 x2 0 -5 b = u1 x1 0.3536 x2 1.275 c = x1 x2 y1 0 0.7845 d = u1 y1 0 Continuous-time model.Geig = -5 -1 Transfer function: 1-s + 5 Zero/pole/gain: 1-(s+5)J5QiR; 2b#(1#)>> A=0 1 0;3 0 2;-12 -7 -6;B=2;1;7;C=1 1 1;D=0;G=ss(A,B,C,D)Geig=eig(G)Gtf=tf(G)Gzpk=zpk(Gtf) a = x1 x2 x3 x1 0 1 0 x2 3 0 2 x3 -12 -7 -6 b = u1 x1 2 x2 1 x3 7 c = x1 x2 x3 y1 1 1 1 d = u1 y1 0 Continuous-time model.Geig = -1.0000 -2.0000 -3.0000 Transfer function: 10 s2 + 8 s - 39-s3 + 6 s2 + 11 s + 6 Zero/pole/gain:10 (s+2.415) (s-1.615)- (s+3) (s+2) (s+1)#(2#)>> A=0 1 0;3 0 2;-12 -7 -6;B=2;1;7;C=1 1 1;D=0;G=ss(A,B,C,D)Gcanon=canon(G)Geig=eig(Gcanon)Gtf=tf(Gcanon)Gzpk=zpk(Gtf) a = x1 x2 x3 x1 0 1 0 x2 3 0 2 x3 -12 -7 -6 b = u1 x1 2 x2 1 x3 7 c = x1 x2 x3 y1 1 1 1 d = u1 y1 0 Continuous-time model. a = x1 x2 x3 x1 -1 0 0 x2 0 -2 0 x3 0 0 -3 b = u1 x1 -32.04 x2 68.74 x3 58.85 c = x1 x2 x3 y1 0.5774 0.2182 0.2294 d = u1 y1 0 Continuous-time model.Geig = -3.0000 -2.0000 -1.0000 Transfer function: 10 s2 + 8 s - 39-s3 + 6 s2 + 11 s + 6 Zero/pole/gain:10 (s+2.415) (s-1.615)- (s+3) (s+2) (s+1)2. 已知系统的状态空间表达式(a) (b) (c) (d) (1)建立给定系统的状态空间模型。用函数eig( ) 求出系统特征值。用函数tf( ) 和zpk( )将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。比较系统的特征值和极点是否一致,为什么?(2)用函数canon( )将给定状态空间表达式转换为对角标准型。用函数eig( )求出系统特征值。比较这些特征值和(1)中的特征值是否一致,为什么? 再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?(3)用函数ctrlss( )将给定的状态空间表达式转换为能控标准型和能观测标准型。用函数eig( )求系统的特征值。比较这些特征值和(1)中的特征值是否一致,为什么?再用函数tf( )将它们转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?3. 已知两个子系统 (1)建立两个子系统的传递函数模型。求它们串联、并联、反馈连接时, 整个系统的传递函数模型。然后将所得传递函数模型转换为状态空间模型。(2)将两个子系统的传递函数模型转换为状态空间模型。求它们串联、并联、反馈连接时, 整个系统的状态空间模型。然后将所得状态空间模型转换为传递函数模型。比较(1)和(2)所得的相应的结果。(3)将(2)中所得的整个系统的状态空间模型的系数矩阵与教材中推导出的整个系统的状态空间表达式的系数矩阵比较,是否符合?三 附录1. 线性定常系统的数学模型在MATLAB中,线性定常(linear time invariant, 简称为 LTI)系统可以用4种数学模型描述,即传递函数(TF)模型、零极点增益(ZPK)模型和状态空间(SS)模型以及SIMULINK结构图。前三种数学模型是用数学表达式表示的,且均有连续和离散两种类型,通常把它们统称为LTI模型。1) 传递函数模型(TF 模型)令单输入单输出线性定常连续和离散系统的传递函数分别为 (1-1)和 。 (1-2)在MATLAB中,连续系统和离散系统的传递函数都用分子/分母多项式系数构成的两个行向量num和den表示,即,系统的传递函数模型用MATLAB提供的函数tf( )建立。函数tf ( )不仅能用于建立系统传递函数模型,也能用于将系统的零极点增益模型和状态空间模型转换为传递函数模型。该函数的调用格式如下: 返回连续系统的传递函数模型。 返回离散系统的传递函数模型。Ts为采样周期,当Ts=-1或者Ts=时,系统的采样周期未定义。 可将任意的LTI模型转换为传递函数模型。例1-1 已知一个系统的传递函数为 建立传递函数模型。在命令窗中运行下列命令>>num=6;den=1 6 11 6;G=tf (num, den) 返回Transfer function: 6-s3 + 6 s2 + 11 s + 62) 零极点增益模型(ZPK模型)系统的零极点增益模型是传递函数模型的一种特殊形式。令线性定常连续和离散系统的零极点形式的传递函数分别为 (1-3)和 (1-4)在MATLAB中,连续和离散系统的零点和极点都用行向量和表示,即,。系统的零极点增益模型用MATLAB提供的函数zpk ( )建立。函数zpk( )不仅能用来建立系统零极点增益模型,也能用于将系统的传递函数模型和状态空间模型转换为零极点增益模型。该函数的调用格式如下: 返回连续系统的零极点增益模型。 返回离散系统的零极点增益模型。Ts为采样周期,当Ts=-1或者Ts=时,系统的采样周期未定义。 可将任意的LTI模型转换为零极点增益模型。例1-2 已知系统的传递函数为 建立系统的零极点增益模型。在命令窗中运行下列命令>> z= ;p=-1 -2 -3;k=6;G=zpk(z,p,k) 返回Zero/pole/gain:6-(s+1) (s+2) (s+3)注意:无零点时,设z为空。3) 状态空间模型(SS模型)令多输入多输出线性定常连续和离散系统的状态空间表达式分别为 (1-5)和 (1-6)在MATLAB中,连续系统和离散系统的状态空间模型都用MATLAB提供的函数ss ( )建立。函数ss ( )不仅能用于建立系统的状态空间模型,也能用于将系统的传递函数模型和零极点增益模型转换为状态空间模型。该函数的调用格式如下: 返回连续系统的状态空间模型。 返回离散系统的状态空间模型。Ts为采样周期,当Ts=1或者Ts=时,系统的采样周期未定义。 可将任意的LTI模型转换为状态空间模型。例1-3 已知系统的状态空间表达式为 建立系统的状态空间模型。在命令窗中运行下列命令>> A=0 1 0;0 0 1;-6 -11 -6;B=0;0;1;C=6 0 0;D=0;G=ss(A,B,C,D) 返回a = x1 x2 x3 x1 0 1 0 x2 0 0 1 x3 -6 -11 -6b = u1 x1 0 x2 0 x3 1c = x1 x2 x3 y1 6 0 0d = u1 y1 0Continuous-time model.注意:D=0不能缺省。2模型转换上述三种LTI模型之间可以通过函数tf( ),zpk( )和ss( )相互转换。线性定常系统的传递函数模型和零极点增益模型是唯一的,但系统的状态空间模型是不唯一的。函数ss( )只能将传递函数模型和零极点增益模型转换为一种指定形式的状态空间模型。例1-4 已知系统的传递函数,建立TF模型,将其转换为ZPK模型和SS模型。再将转换得到的SS模型转换为TF模型。 编制如下程序%ex14。%ex14 num=5;den=1 4 5 2;Gtf=tf(num,den);Gzpk=zpk(Gtf) Gss=ss(Gtf)Gtf1=tf(Gss)在命令窗中运行该程序,即>> ex14返回Zero/pole/gain: 5-(s+2) (s+1)2a = x1 x2 x3 x1 -4 -2.5 -0.5 x2 2 0 0 x3 0 2 0b = u1 x1 1 x2 0 x3 0c = x1 x2 x3 y1 0 0 1.25d = u1 y1 0Continuous-time model.Transfer function: 5-s3 + 4 s2 + 5 s + 2传递函数可以转换为约旦标准型(包括对角标准型)、能控标准型和能观测标准型。我们编制的函数jordants( ) 可用部分分式展开将传递函数转换为对角标准型或约当标准型。该函数的调用格式为:其中num和den分别为传递函数分子和分母多项式系数的行向量,为转换得到对角标准型或约当标准型。该函数的程序如下:function Gj=jordants(num,den) %用部分分式展开将传递函数转换为约当标准型R,P,K=residue(num,den);j=1;q=P(1);m(1)=0;for i=1:length(P) if P(i)=q m(j)=m(j)+1; else q=P(i); j=j+1; m(j)=1; endend %计算各极点的重数Aj=diag(P);for i=1:length(P)-1 if Aj(i,i)=Aj(i+1,i+1) Aj(i,i+1)=1; else Aj(i,i+1)=0; endend %构造系统矩阵AjB1=0;l=0;for j=1:length(m)l=l+m(j);B1(l)=1;end Bj=B1' %构造输入矩阵Bjn=1;l=m(1);Cj(:,1:m(1)=rot90(R(1:m(1),:),3);for k=2:length(m)n=l+1;l=l+m(k);Cj(:,n:l)=rot90(R(n:l,:),3);end %构造输出矩阵Cj if K= Dj=0;else Dj=K; end %构造直联矩阵Dj Gj=ss(Aj,Bj,Cj,Dj);例1-5 已知系统的传递函数为 将其转换为对角标准型。在命令窗中运行下列命令>> num=6;den=1 6 11 6;Gj=jordants(num,den) 返回a = x1 x2 x3 x1 -3 0 0 x2 0 -2 0 x3 0 0 -1b = u1 x1 1 x2 1 x3 1c = x1 x2 x3 y1 3 -6 3d = u1 y1 0Continuous-time model.例1-6 已知系统的传递函数为 将其转换为约当标准型。在命令窗中运行下列命令>> num=2 10 17 11; den=1 5 8 4; Gj=jordants(num,den) 返回a = x1 x2 x3 x1 -2 1 0 x2 0 -2 0 x3 0 0 -1b = u1 x1 0 x2 1 x3 1c = x1 x2 x3 y1 -1 -2 2d = u1 y1 2Continuous-time model.我们编制的函数ctrlts( )可将传递函数转换为能控标准型。该函数的调用格式为: 其中num和den分别为传递函数的分子和分母多项式系数的行向量,为转换得到的能控标准型。该函数的程序如下:function Gc=ctrlts(num,den) %将传递函数转换为能控标准型m=length(num)-1;n=length(den)-1;if m=nR,P,K=residue(num,den);num1=num-K*den;A(n,:)=-1*rot90(den(:,2:n+1),2);A(1:n-1,2:n)=eye(n-1);A(1:n-1,1)=zeros(n-1,1);B=zeros(n-1,1);1;C=rot90(num1(:,2:n+1),2);D=K; else A(n,:)=-1*rot90(den(:,2:n+1),2);A(1:n-1,2:n)=eye(n-1);A(1:n-1,1)=zeros(n-1,1);B=zeros(n-1,1);1;C(:,1:m+1)=rot90(num,2);C(:,m+2:n)=zeros(1,n-m-1); D=0;endGc=ss(A,B,C,D);例1-7 将例1-6中的传递函数转换为能控标准型。在命令窗中运行下列命令>> num=2 10 17 11;den=1 5 8 4;Gc=ctrlts(num,den) 返回a = x1 x2 x3 x1 0 1 0 x2 0 0 1 x3 -4 -8 -5b = u1 x1 0 x2 0 x3 1c = x1 x2 x3 y1 3 1 0d = u1 y1 2Continuous-time model.进一步,求能控标准型的对偶系统可得能观测标准型。在命令窗中运行下列命令>> Ao=(Gc.a)'Bo=(Gc.c)'Co=(Gc.b)'Do=Gc.d;Go=ss(Ao,Bo,Co,Do) 返回a = x1 x2 x3 x1 0 0 -4 x2 1 0 -8 x3 0 1 -5b = u1 x1 3 x2 1 x3 0c = x1 x2 x3 y1 0 0 1d = u1 y1 2Continuous-time model.下面是介绍MATLAB提供的三个函数tfdata( ), zpkdata( ), ssdata( )。函数tfdata( ) 可得到传递函数模型的分子分母多项式系数。其调用格式为其中G为系统LTI模型。和den分别为分子和分母多项式的系数向量。函数zpkdata( ) 可得到零极点增益模型的零点、极点和增益。其调用格式为其中G为系统LTI模型。z和p分别为零点和极点向量,k为增益。函数ssdata( ) 可得到状态空间模型的系数矩阵。其调用格式为其中G为系统LTI模型。A,B,C,D为系数矩阵。3. 模型的连接1) 串联连接设线性定常系统1和2的LTI模型分别为和。在MATLAB中, 两者的串联连接(参教材)可由命令实现,其中G为整个系统的LTI模型。多个系统的串联连接可由命令实现。2) 并联连接设线性定常系统1和2的LTI模型分别为和。在MATLAB中, 两者的并联连接(参教材)可由命令实现,其中G为整个系统的LTI模型。多个系统的并联连接可由命令实现。3) 反馈连接设线性定常系统1和2的LTI模型分别为和。在MATLAB中, 两者的反馈连接(参教材)可由MATLAB提供的函数feedback( )实现。该函数的调用格式为: 其中G为整个系统LTI模型。如果Sign=-1或省略Sign变量,则表示负反馈。如果Sign=1, 则表示正反馈。4. 状态空间表达式的相似变换线性定常系统状态空间表达式为,假设存在一个非奇异矩阵T将原状态x变换为z=Tx, 则状态z对应的状态空间表达式为,其中,。MATLAB提供函数ss2ss( )可完成状态空间模型的相似变换。该函数调用格式为其中G为原状态空间模型。T为变换矩阵。为经变换得到的状态空间模型。例1-8 考虑一个系统,它的状态空间表达式为 由于该系统的系统矩阵A为友矩阵,所以可由其特征值构造变换矩阵。令变换矩阵T为。在命令窗中运行下列命令>> A=0 1;-2 -3;B=1 1'C=1 0;G=ss(A,B,C,0); T=inv(1 1;-1 -2); G1=ss2ss(G,T)返回a = x1 x2 x1 -1 0 x2 0 -2b = u1 x1 3 x2 -2c = x1 x2 y1 1 1d = u1 y1 0Continuous-time model. 通过线性变换可将状态空间表达式变换为约当标准型(包括对角标准型),能控标准型和能观测标准型。MATLAB提供的函数canon( )可将状态空间表达式变换为对角标准型或约当标准型。该函数的调用格式为:其中G为原状态空间模型,而GJ为转换得到的对角标准型或约当标准型。但该函数在系统含有重特征值时,效果不甚理想。例1-9 利用函数canon( )将例1-8中状态空间表达式变换为对角标准型。在命令窗中运行下列命令>> A=0 1;-2 -3;B=1 1'C=1 0;G=ss(A,B,C,0); G1=canon(G,modal) 返回a = x1 x2 x1 -1 0 x2 0 -2b = u1 x1 4.243 x2 4.472c = x1 x2 y1 0.7071 -0.4472d = u1 y1 0Continuous-time model. 如果SISO线性定常系统完全能控,则可通过非奇异线性变换将状态空间表达式变换为能控标准型。我们编制的函数ctrlss( ) 可实现这一变换。该函数的调用格式为:其中G为原来的状态空间模型。Gc为转换得到的能控标准型。该函数程序如下:function Gc=ctrlss(A,B,C,D) %将状态空间表达式变换为能控标准型n=length(A);Uc=ctrb(A,B);U=inv(Uc);p1=U(n,:);for i=1:n T(i,:)=p1*A(i-1);endAc=T*A*inv(T);Bc=T*B;Cc=C*inv(T);Gc=ss(Ac,Bc,Cc,D);例1-10 考虑一个系统,它的状态空间表达式为 将其转换为能控标准型。在命令窗中运行下列命令>> A=0 2 -2;1 1 -2;2 -2 1;B=2 1 1'C=1 1 1;D=0;Gc=ctrlss(A,B,C,D)返回a = x1 x2 x3 x1 -4.441e-016 1 1.665e-016 x2 -8.882e-016 0 1 x3 -2 1 2b = u1 x1 1.388e-017 x2 0 x3 1c = x1 x2 x3 y1 -20 -4 4d = u1 y1 0Continuous-time model.试编将状态空间表达式变换为能观测标准型的函数。实验二 线性定常系统状态方程的解一、实验目的1. 掌握状态转移矩阵的概念。学会用MATLAB求解状态转移矩阵。2. 掌握线性系统状态方程解的结构。学会用MATLAB求解线性定常系统的状态响应和输出响应,并绘制相应曲线。二、实验内容1. 求下列系统矩阵A对应的状态转移矩阵(a) (b) (c) (d) 实验数据 (1)a A=0 -1;4 0;syms t; phet=expm(A*t) phet = cos(2*t), -1/2*sin(2*t) 2*sin(2*t), cos(2*t)(1)bphet = -2*t*exp(t)+exp(2*t), -2*exp(2*t)+2*exp(t)+3*t*exp(t), exp(2*t)-exp(t)-t*exp(t) 2*exp(2*t)-2*exp(t)-2*t*exp(t), 5*exp(t)+3*t*exp(t)-4*exp(2*t), 2*exp(2*t)-2*exp(t)-t*exp(t) -2*t*exp(t)+4*exp(2*t)-4*exp(t), -8*exp(2*t)+8*exp(t)+3*t*exp(t), -3*exp(t)+4*exp(2*t)-t*exp(t)(2)1a>> A=0 1;-6 -5;syms s;G=inv(s*eye(size(A)-A);phet=ilaplace(G);X0=1 0'Xt1=phet*X0;>> B=0 1'Xt2=ilaplace(G*B*(0)Xt1 = -2*exp(-3*t)+3*exp(-2*t) -6*exp(-2*t)+6*exp(-3*t)Xt2 = 0 0有图>> y=initial(G,x0)y = 1.0000 0.9978 0.9917 0.9821 0.9695 0.9544 0.9372 0.9182 0.8978 0.8761 0.8535 0.8301 0.8063 0.7820 0.7576 0.7331 0.7086 0.6842 0.6600 0.6362 0.6127 0.5896 0.5670 0.5449 0.5233 0.5022 0.4817 0.4619 0.4425 0.4238 0.4057 0.3882 0.3713

    注意事项

    本文(现代控制理论实验报告.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开