




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
现代控制理论实验实验文档同时已上传,本人不才,正确性有待验证!欢迎批评指正!实验一、线性系统状态空间表达式的建立以及线性变换一 实验目的1. 掌握线性定常系统的状态空间表达式。学会在MATLAB中建立状态空间模型的方法。2. 掌握传递函数与状态空间表达式之间相互转换的方法。学会用MATLAB实现不同模型之间的相互转换。3. 熟悉系统的连接。学会用MATLAB确定整个系统的状态空间表达式和传递函数。4. 掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当标准型、能控标准型和能观测标准型的方法。学会用MATLAB进行线性变换。二 实验内容1. 已知系统的传递函数(a) (b) (c) (1)建立系统的TF或ZPK模型。(2)将给定传递函数用函数ss( )转换为状态空间表达式。再将得到的状态空间表达式用函数tf( )转换为传递函数,并与原传递函数进行比较。(3)将给定传递函数用函数jordants( )转换为对角标准型或约当标准型。再将得到的对角标准型或约当标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。(4)将给定传递函数用函数ctrlts( )转换为能控标准型和能观测标准型。再将得到的能控标准型和能观测标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。2. 已知系统的状态空间表达式(a) (b) (c) (d) (1)建立给定系统的状态空间模型。用函数eig( ) 求出系统特征值。用函数tf( ) 和zpk( )将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。比较系统的特征值和极点是否一致,为什么?(2)用函数canon( )将给定状态空间表达式转换为对角标准型。用函数eig( )求出系统特征值。比较这些特征值和(1)中的特征值是否一致,为什么? 再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?(3)用函数ctrlts( )将给定的状态空间表达式转换为能控标准型和能观测标准型。用函数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) 2. 已知系统 (1)令初始状态为,输入为零。a) 用MATLAB求状态方程的解析解。选择时间向量t,绘制系统的状态响应曲线。观察并记录这些曲线。b) 用函数initial( )计算系统在初始状态作用下状态响应和输出响应的数值解, 并用函数plot( ) 绘制系统的状态响应曲线和输出响应曲线。观察并记录这些响应曲线,然后将这一状态响应曲线与a)中状态响应曲线进行比较。c) 根据b)中所得的状态响应的数值解,用命令plot(x(:,1), x(:,2)绘制系统的状态轨迹。记录系统状态转移的过程,结合a)和b)中的状态响应曲线分析这一过程。(2) 令初始状态为零,输入为。a) 用MATLAB求状态方程的解析解。选择时间向量t,绘制系统的状态响应曲线。观察并记录这些曲线。b) 用函数initial( )计算系统在初始状态作用下状态响应和输出响应的数值解, 并用函数plot( ) 绘制系统的状态响应曲线和输出响应曲线。观察并记录这些响应曲线,然后将这一状态响应曲线与a).中状态响应曲线进行比较。c) 根据b)中所得的状态响应的数值解,用命令plot(x(:,1), x(:,2)绘制系统的状态轨迹。记录系统状态转移的过程,结合a)和b)中的状态响应曲线分析这一过程。(3)令初始状态为,输入为。求系统状态响应和输出响应的数值解,绘制系统的状态响应曲线、输出响应曲线和状态轨迹。观察和分析这些响应曲线和状态轨迹是否是(1)和(2)中的响应曲线和状态轨迹的叠加。(4) 令初始状态为零,输入为。用函数lsim( )计算状态响应和输出响应的数值解,并绘制系统的状态响应曲线、输出响应曲线和状态轨迹。3. 已知系统 且初始状态为。(1)当输入为时,用函数initial( )和impulse( )求解系统的状态响应和输出响应的数值解,并绘制系统的状态响应曲线、输出响应曲线和状态轨迹。(2)当输入为时,用函数initial( )和step( )求解系统的状态响应和输出响应的数值解,并绘制系统的状态响应曲线、输出响应曲线和状态轨迹。(3)当输入为时,用函数initial( )和lsim( )求解系统的状态响应和输出响应的数值解,并绘制系统的状态响应曲线、输出响应曲线和状态轨迹。(4)当输入为时,用函数initial( ) 和lsim( )求解系统的状态响应和输出响应的数值解,并绘制系统的状态响应曲线、输出响应曲线和状态轨迹。三 附录1、线性定常连续系统状态转移矩阵的计算线性定常连续系统的状态转移矩阵为。 (3-2-1)在MATLAB中, 状态转移矩阵可直接用指数矩阵法和拉氏反变换法计算。例2-1 求系统矩阵A对应的状态转移矩阵。 指数矩阵法:在命令窗中运行下列命令 A=0 1;-2 -3;syms t; phet=expm(A*t) 返回phet = -exp(-2*t)+2*exp(-t), exp(-t)-exp(-2*t) -2*exp(-t)+2*exp(-2*t), 2*exp(-2*t)-exp(-t)拉氏反变换法:在命令窗中运行下列命令 A=0 1;-2 -3; syms s;G=inv(s*eye(size(A)-A) 返回G = (s+3)/(s2+3*s+2), 1/(s2+3*s+2) -2/(s2+3*s+2), s/(s2+3*s+2)即。再对其进行拉氏逆变换,即在命令窗中输入语句phet= ilaplace(G) 返回phet = -exp(-2*t)+2*exp(-t), exp(-t)-exp(-2*t) -2*exp(-t)+2*exp(-2*t), 2*exp(-2*t)-exp(-t)2. 线性定常连续系统的状态方程求解如果线性定常连续系统的状态空间表达式为 且初始状态为,那么状态方程解的拉氏变换式为 (3-2-2)其解为 (3-2-3)其中零输入响应为 或 (3-2-4)零状态响应为 或 (3-2-5)系统的输出响应为 (3-2-6)例2-2 已知系统的状态方程为 试求初始状态为,输入分别为和 时状态方程的解。编制程序%ex22求输入为时状态方程的解。该程序如下:A=0 1;-2 -3;syms s;G=inv(s*eye(size(A)-A);phet=ilaplace(G);X0=1 -1;Xt1=phet*X0; B=0 1;Xt2=ilaplace(G*B*(1/s)在命令窗中运行该程序,即 ex22 返回xt1 = exp(-t) -exp(-t)xt2 = 1/2-exp(-t)+1/2*exp(-2*t) exp(-t)-exp(-2*t)其中xt1为零输入响应,xt2为零状态响应。将该程序中用代替可求出输入为单位斜坡函数时状态方程的解xt1 = exp(-t) -exp(-t)xt2 = 1/2*t-3/4-1/4*exp(-2*t)+exp(-t) 1/2-exp(-t)+1/2*exp(-2*t)上述得到的是状态方程的解析解,MATLAB提供的函数step( ) 、impulse( )、lsim( ) 和initial( )可以求得系统响应的数值解。函数step( ) 可直接求取线性连续系统的单位阶跃响应。该函数的调用格式为: 其中G为给定系统LTI模型,t为时间向量。通常取t=0:dt:t-end,其中t-end为终值时间,而dt为时间步长。y为系统输出。 这时时间向量t自动生成。 或 如果G为状态空间模型,则x为系统状态向量,否则x将返回空矩阵。 或 此时不返回任何变量,而自动地绘制单位阶跃响应输出曲线。函数impulse( ) 可直接求取线性系统的单位脉冲响应。该函数的调用格式与函数step( )的调用格式相似。函数lsim( ) 可直接求取线性系统在任意输入信号作用下的响应。该函数的调用格式为:其中u为与时间向量t对应的输入向量。当然还可以和step( )函数一样有其它的调用格式。 函数initial( ) 可求解系统的零输入响应。该函数的调用格式为 或 其中G为状态空间模型,x0为初始状态。例2-3 已知系统为 初始状态为,试求u(t)为单位阶跃函数时系统状态响应和输出响应,并绘制状态响应曲线和输出响应曲线。在命令窗中运行下列命令,建立状态空间模型,计算系统在初始状态作用下的状态响应和输出响应,并绘制相应的响应曲线。 A=0 1;-2 -3; B=0;1; C=1 1; D=0; G=ss(A,B,C,D); t=0:0.5:10; x0=1;-1;yo,t,xo=initial(G,x0,t); plot(t,xo,:,t,yo,-)返回图1。 图1状态响应 图2 输出响应 在命令窗中继续运行下列命令,计算系统在输入作用下的状态响应和输出响应,并绘制相应的响应曲线。figure(pos,50 50 200 150,color,w);u=ones(size(t);yu,t,xu=lsim(G,u,t);plot(t,xu,:,t,yu,-)返回图2。再继续运行下列命令求系统总的状态响应和输出响应,并绘制相应的响应曲线。y=yo+yu; x=xo+xu; plot(t,x,:,t,y,-)返回图3。 图3 图4例2-4 已知系统 求出系统在初始状态为零,且时系统的状态响应和输出响应。在命令窗中运行下列命令A=0 1;-5 -6;B=2;0;C=1 2;D=0;G=ss(A,B,C,D);t=0:0.5:20;u=exp(-t);y,t,x=lsim(G,u,t);plot(t,x,:k,t,y,-k)可得状态响应和输出响应的数值解以及相应的曲线,如图4。也可编制如下程序%ex24,先求状态方程的解析解再求数值解,然后绘制曲线。 %ex24figure(pos,50 50 200 150,color,w);A=0 1;-5 -6;B=2;0;C=1 2;syms s;G=inv(s*eye(size(A)-A);phet=ilaplace(G); %计算状态转移矩阵u=1/(s+1);x=ilaplace(G*B*u); %计算状态响应的解析解y=C*x; %计算输出响应的解析解for i=1:61tt=0.1*(i-1);xt(:,i)=subs(x(:),t,tt); yt(i)=subs(y,t,tt);end %计算状态响应和输出响应的数值解plot(0:60,xt,:k,0:60,yt,-k)gtext(y,FontSize,8)gtext(x1,FontSize,8)gtext(x2,FontSize,8)在命令窗中运行该程序得到状态和输出响应解析解和数值解,以及相应的曲线如图5。 图5 状态和输出响应曲线 图6 阶跃响应曲线3. 线性定常离散系统状态方程的解如果线性定常离散系统的状态空间表达式为 (3-2-7)初始状态为,那么状态方程的解为 (3-2-8)系统的状态转移矩阵为 (3-2-9)系统的输出为 (3-2-10)例2-5 已知系统 求状态转移矩阵,求初始状态为零时系统的单位阶跃响应。编制程序%ex251求状态转移矩阵。该程序如下%ex251G=0 1;-0.16 -1;syms z; phez=inv(z*eye(size(G)-G)*z; %计算phek=iztrans(phez) %计算在命令窗中运行该程序后返回phek = 4/3*(-1/5)n-1/3*(-4/5)n, 5/3*(-1/5)n-5/3*(-4/5)n -4/15*(-1/5)n+4/15*(-4/5)n, -1/3*(-1/5)n+4/3*(-4/5)n编制程序%ex252求出系统的单位阶跃响应并绘制阶跃响应曲线。该程序如下%ex252figure(pos,50 50 200 150,color,w);G=0 1;-0.16 -1;H=0;1;C=1 -1;D=0;u=1;n=20;y= dstep(G,H,C,D,u,n);dstep(G,H,C,D,u,n);在命令窗中运行该程序后得到系统的阶跃响应曲线如图6。实验三、线性系统可控、可观测性判断一 实验目的1. 掌握能控性和能观测性的概念。学会用MATLAB判断能控性和能观测性。2. 掌握系统的结构分解。学会用MATLAB进行结构分解。3. 掌握最小实现的概念。学会用MATLAB求最小实现。二 实验内容1. 已知系统 (1)判断系统状态的能控性和能观测性,以及系统输出的能控性。说明状态能 控性和输出能控性之间有无联系。(2)令系统的初始状态为零,系统的输入分别为单位阶跃函数和单位脉冲函数。用MATLAB函数计算系统的状态响应和输出响应,并绘制相应的响应曲线。观察和记录这些曲线。当输入改变时, 每个状态变量的响应曲线是否随着改变?能否根据这些曲线判断系统状态的能控性?(3) 将给定的状态空间表达式变换为对角标准型,判断系统的能控性和能观测性,与(1)的结果是否一致?为何?(4)令(3)中系统的初始状态为零, 输入分别为单位阶跃函数和单位脉冲函数。用MATLAB函数计算系统的状态响应和输出响应,并绘制响应的曲线。观察和记录这些曲线。当输入改变时, 每个状态变量曲线是否随着改变?能否根据这些曲线判断系统以及各状态变量的能控性?不能控和能控状态变量的响应曲线有何不同?(5)根据(2)和(4)所得曲线能否判断系统状态以及各状态变量的能观测性?2. 已知系统 (1)将给定的状态空间模型转换为传递函数模型。令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,绘制和记录相应的曲线。(2)按能控性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型。它与(1)中所得的传递函数模型是否一致?为何?令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线。这一曲线与(1)中的输出曲线是否一致?为何?(3)按能观测性分解给定的状态空间模型并记录分解所得的结果,然后再将其转换为传递函数模型。它与(1)中的传递函数模型是否一致?为何?令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线。这一曲线与(1)中的输出曲线是否一致?(4)按能控性能观测性分解给定的状态空间模型并记录分解所得的结果,然后再将其转换为传递函数模型。它与(1)中的传递函数模型是否一致?为何?令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应的曲线。这一曲线与(1)中的输出曲线是否一致?为何?3. 已知系统 (a) (b) 用函数minreal( )求最小实现。判断所得系统的能控性和能观测性,验证其是否最小实现。三 附录1. 能控性1)线性定常系统状态能控性的判断n阶线性定常连续或离散系统状态完全能控的充分必要条件是:能控性矩阵的秩为n。能控性矩阵可用MATLAB提供的函数ctrb( )自动产生,其调用格式为:其中A,B分别为系统矩阵和输入矩阵,为能控性矩阵。能控性矩阵的秩即称为能控性指数,表示系统能控状态变量的数目,可由MATLAB提供的函数rank( )求出。例3-1 判断系统的能控性 在命令窗中运行下列命令 A=1 3 2;0 2 0;0 1 3; B=2 1; 1 1;-1 -1; Uc=ctrb(A,B); rank(Uc) 返回ans = 2因为rank(Uc)=2n,所以系统的状态不完全能控。也可编制判断系统状态能控性的函数sctrb( ),其程序如下:function sctrb(A,B) %判断系统状态的能控性Uc=ctrb(A,B);nc=rank(Uc);n=length(A);if n=nc disp(system is completely state controllable)else disp(system is not completely state controllable)end在命令窗中运行下列命令 A=1 3 2;0 2 0;0 1 3;B=2 1;1 1;-1 -1;sctrb(A,B) 返回system is not completely state controllable2)线性定常系统输出能控性的判断线性定常连续或离散系统输出能控的充分必要条件是:矩阵的秩为m,其中r为系统的输入个数,m为输出个数。矩阵可以通过能控性矩阵得到,即例3-2 判断系统的输出能控性 在命令窗中运行下列命令 A=-4 5;1 0;B=-5;1;C=1 -1;D=0;Uc=ctrb(A,B);Uy=C*Uc D;rank(Uy)返回ans= 1因为rank(Uy)=1=m,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版北京二手房购房合同样本
- 2025版高层建筑施工材料运输合同范本
- 2025版排污许可证电子化管理平台建设合同
- 二零二五年度彩钢材料回收与再利用合同范本
- 2025版大型花展项目合作协议
- 2025版淮南文化产业园区物业管理服务合同书
- 二零二五年度建筑工程项目挂靠合作合同(含合同履行监督)
- 二零二五年度钢材产业基金投资合作协议
- 二零二五年度工程劳务分包合同税率变动影响分析及对策
- 岩板墙面知识培训内容课件
- 沉淀池安全操作规程
- 职业规划杨彬课件
- 车间现场品质培训
- 新教师职业素养提升培训
- 2025年高考英语全国一卷听力评析及备考建议
- 小学生课件藏文版下载
- 中试基地管理制度
- 2025至2030中国工业电机行业产业运行态势及投资规划深度研究报告
- 养老院电动车管理制度
- 2026届高考语文复习:辨析并修改病句
- 2025年区域卫生规划与医疗卫生资源优化配置的研究报告
评论
0/150
提交评论