您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 现代控制理论实验报告
现代控制理论实验报告学院:中北大学信息与通信工程学院学号:姓名:实验一线性定常系统模型一实验目的1.掌握线性定常系统的状态空间表达式。学会在MATLAB中建立状态空间模型的方法。2.掌握传递函数与状态空间表达式之间相互转换的方法。学会用MATLAB实现不同模型之间的相互转换。3.熟悉系统的连接。学会用MATLAB确定整个系统的状态空间表达式和传递函数。4.掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当标准型、能控标准型和能观测标准型的方法。学会用MATLAB进行线性变换。二实验内容1.已知系统的传递函数(a))3()1(4)(2ssssG(b)3486)(22sssssG(1)建立系统的TF或ZPK模型。(2)将给定传递函数用函数ss()转换为状态空间表达式。再将得到的状态空间表达式用函数tf()转换为传递函数,并与原传递函数进行比较。2.已知系统的状态空间表达式(a)uxx106510xy11(b)uxx7126712203010111y(1)建立给定系统的状态空间模型。用函数eig()求出系统特征值。用函数tf()和zpk()将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。比较系统的特征值和极点是否一致,为什么?(2)用函数canon()将给定状态空间表达式转换为对角标准型。用函数eig()求出系统特征值。比较这些特征值和(1)中的特征值是否一致,为什么?再用函数tf()和zpk()将对角标准型或约当标准型转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?三实验结果1(A)1)num=4;den=[15730];G=tf(num,den)Transferfunction:4-------------------------s^4+5s^3+7s^2+3s2)%ex14num=4;den=[15730];Gtf=tf(num,den);Gss=ss(Gtf)Gtf1=tf(Gss)a=x1x2x3x4x1-5-0.875-0.046880x28000x30800x40080b=u1x10.0625x20x30x40c=x1x2x3x4y10000.125d=u1y10Continuous-timemodel.Transferfunction:4-------------------------s^4+5s^3+7s^2+3s(B)1)z=[-2-4];p=[-1-3];k=1;G=zpk(z,p,k)Zero/pole/gain:(s+2)(s+4)-----------(s+1)(s+3)2)%ex14z=[-2-4];p=[-1-3];k=1;Gzpk=zpk(z,p,k)Gss=ss(Gzpk)Gtf1=tf(Gss)Zero/pole/gain:(s+2)(s+4)-----------(s+1)(s+3)a=x1x2x1-11x20-3b=u1x11x21c=x1x2y111d=u1y11Continuous-timemodel.Transferfunction:s^2+6s+8-------------s^2+4s+32(A)1)A=[01;-5-6];B=[01]';C=[11];G=ss(A,B,C,0)Geig=eig(G)Gzpk=zpk(G)Gtf=tf(G)a=x1x2x101x2-5-6b=u1x10x21c=x1x2y111d=u1y10Continuous-timemodel.Geig=-1-5Zero/pole/gain:(s+1)-----------(s+1)(s+5)Transferfunction:s+1-------------s^2+6s+52)A=[01;-5-6];B=[01]';C=[11];G=ss(A,B,C,0);G1=canon(G,'modal')Geig=eig(G1)Gzpk=zpk(G1)Gtf=tf(G1)a=x1x2x1-10x20-5b=u1x10.3536x21.275c=x1x2y100.7845d=u1y10Continuous-timemodel.Geig=-5-1Zero/pole/gain:1-----(s+5)Transferfunction:1-----s+5(B)1)A=[010;302;-12-7-6];B=[2;1;7];C=[111];G=ss(A,B,C,0)Geig=eig(G)Gzpk=zpk(G)Gtf=tf(G)a=x1x2x3x1010x2302x3-12-7-6b=u1x12x21x37c=x1x2x3y1111d=u1y10Continuous-timemodel.Geig=-1.0000-2.0000-3.0000Zero/pole/gain:10(s-1.615)(s+2.415)----------------------(s+1)(s+2)(s+3)Transferfunction:10s^2+8s-39----------------------s^3+6s^2+11s+62)A=[010;302;-12-7-6];B=[2;1;7];C=[111];G=ss(A,B,C,0);G1=canon(G,'modal')Geig=eig(G1)Gzpk=zpk(G1)Gtf=tf(G1)a=x1x2x3x1-100x20-20x300-3b=u1x1-32.04x268.74x358.85c=x1x2x3y10.57740.21820.2294d=u1y10Continuous-timemodel.Geig=-3.0000-2.0000-1.0000Zero/pole/gain:10(s-1.615)(s+2.415)----------------------(s+3)(s+2)(s+1)Transferfunction:10s^2+8s-39----------------------s^3+6s^2+11s+6实验二线性定常系统状态方程的解一、实验目的1.掌握状态转移矩阵的概念。学会用MATLAB求解状态转移矩阵。2.掌握线性系统状态方程解的结构。学会用MATLAB求解线性定常系统的状态响应和输出响应,并绘制相应曲线。二、实验内容1.求下列系统矩阵A对应的状态转移矩阵(a)0410A(b)452100010A(c)000000A2.已知系统uxx105610xy01(1)令初始状态为01)0(x,输入为零。a)用MATLAB求状态方程的解析解。选择时间向量t,绘制系统的状态响应曲线。观察并记录这些曲线。b)用函数initial()计算系统在初始状态作用下状态响应和输出响应的数值解,并用函数plot()绘制系统的状态响应曲线和输出响应曲线。观察并记录这些响应曲线,然后将这一状态响应曲线与a)中状态响应曲线进行比较。(2)令初始状态为零,输入为)(1)(ttu。a)用MATLAB求状态方程的解析解。选择时间向量t,绘制系统的状态响应曲线。观察并记录这些曲线。b)用函数initial()计算系统在初始状态作用下状态响应和输出响应的数值解,并用函数plot()绘制系统的状态响应曲线和输出响应曲线。观察并记录这些响应曲线,然后将这一状态响应曲线与a).中状态响应曲线进行比较。(3)令初始状态为11)0(x,输入为)(1)(ttu。求系统状态响应和输出响应的数值解,绘制系统的状态响应曲线、输出响应曲线和状态轨迹。观察和分析这些响应曲线和状态轨迹是否是(1)和(2)中的响应曲线和状态轨迹的叠加。三、实验结果1(A)A=[0-1;40];symst;phet=expm(A*t)phet=[cos(2*t),-1/2*sin(2*t)][2*sin(2*t),cos(2*t)](B)A=[010;001;2-54];symst;phet=expm(A*t)phet=[-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)](C)symsc;A=[c00;0c0;00c];symst;phet=expm(A*t)phet=[exp(t*c),0,0][0,exp(t*c),0][0,0,exp(t*c)]2(1)(A)A=[01;-6-5];symss;G=inv(s*eye(size(A))-A);phet=ilaplace(G);X0=[10]';Xt1=phet*X0Xt1=[-2*exp(-3*t)+3*exp(-2*t)][-6*exp(-2*t)+6*exp(-3*t)]A=[01;-6-5];symss;G=inv(s*eye(size(A))-A);phet=ilaplace(G);X0=[10]';Xt1=phet*X0;B=[01]';Xt2=ilaplace(G*B*0)Xt2=[0][0]图aA=[01;-6-5];B=[0;1];C=[10];D=0;G=ss(A,B,C,D);t=0:0.5:10;x0=[1;0];[yo,t,xo]=initial(G,x0);plot(t,xo,':',t,yo,'-')(B)图1bfigure('pos',[5050200150],'color','w');[yu,t,xu]=initial(G,x0);plot(t,xu,':',t,yu,'-')yu=1.00000.99780.99170.98210.96950.95440.93720.91820.89780.87610.85350.83010.80630.78200.75760.73310.70860.68420.66000.63620.61270.58960.56700.54490.52330.50220.48170.46190.44250.42380.40570.38820.37130.35500.33930.32420.30960.29560.28210.26920.25670.24480.23340.22250.21200.20190.19230.18310.17430.16590.15790.15030.14290.13600.12930.12290.11690.11110.10560.10030.09530.09060.08600.08170.07760.07370.07000.06640.06310.05990.05680.05390.05120.04860.04610.04370.04150.03930.03730.03540.03360.03180.03020.02860.02710.02570.02440.02310.02190.02080.01970.01870.01770.01680.01590.01500.01430.01350.01280.01210.01150.01090.01030.00980.00930.00880.00830.00790.0075t=00.02760.05520.08280.11040.13800.16560.19330.22090.24850.27610.30370.33130.35890.3
本文标题:现代控制理论实验报告
链接地址:https://www.777doc.com/doc-4652944 .html