现代控制理论实验一报告
现代控制理论实训报告

一、前言随着科技的飞速发展,自动化、智能化已成为现代工业生产的重要特征。
为了更好地掌握现代控制理论,提高自己的实践能力,我参加了现代控制理论实训课程。
本次实训以状态空间法为基础,研究多输入-多输出、时变、非线性一类控制系统的分析与设计问题。
通过本次实训,我对现代控制理论有了更深入的了解,以下是对本次实训的总结。
二、实训目的1. 巩固现代控制理论基础知识,提高对控制系统的分析、设计和调试能力。
2. 熟悉现代控制理论在工程中的应用,培养解决实际问题的能力。
3. 提高团队合作意识,锻炼动手能力和沟通能力。
三、实训内容1. 状态空间法的基本概念:状态空间法是现代控制理论的核心内容,通过建立状态方程和输出方程,描述系统的动态特性。
2. 状态空间法的基本方法:包括状态空间方程的建立、状态转移矩阵的求解、可控性和可观测性分析、状态反馈和观测器设计等。
3. 控制系统的仿真与实现:利用MATLAB等仿真软件,对所设计的控制系统进行仿真,验证其性能。
4. 实际控制系统的分析:分析实际控制系统中的控制对象、控制器和被控量,设计合适的控制策略。
四、实训过程1. 理论学习:首先,我对现代控制理论的相关知识进行了复习,包括状态空间法、线性系统、非线性系统等。
2. 实验准备:根据实训要求,我选择了合适的实验设备和软件,包括MATLAB、控制系统实验箱等。
3. 实验操作:在实验过程中,我按照以下步骤进行操作:(1)根据实验要求,建立控制系统的状态空间方程。
(2)求解状态转移矩阵,并进行可控性和可观测性分析。
(3)设计状态反馈和观测器,优化控制系统性能。
(4)利用MATLAB进行仿真,观察控制系统动态特性。
(5)根据仿真结果,调整控制器参数,提高控制系统性能。
4. 结果分析:通过对仿真结果的分析,我对所设计的控制系统进行了评估,并总结经验教训。
五、实训成果1. 掌握了现代控制理论的基本概念和方法。
2. 提高了控制系统分析与设计能力,能够独立完成实际控制系统的设计。
现代控制理论实验报告

现代控制理论实验报告实验一系统能控性与能观性分析一、实验目的1.理解系统的能控和可观性。
二、实验设备1.THBCC-1型信号与系统·控制理论及计算机控制技术实验平台;三、实验容二阶系统能控性和能观性的分析四、实验原理系统的能控性是指输入信号u对各状态变量x的控制能力,如果对于系统任意的初始状态,可以找到一个容许的输入量,在有限的时间把系统所有的状态引向状态空间的坐标原点,则称系统是能控的。
对于图21-1所示的电路系统,设iL和uc分别为系统的两个状态变量,如果电桥中则输入电压ur能控制iL和uc状态变量的变化,此时,状态是能控的。
反之,当时,电桥中的A点和B点的电位始终相等,因而uc不受输入ur的控制,ur只能改变iL的大小,故系统不能控。
系统的能观性是指由系统的输出量确定所有初始状态的能力,如果在有限的时间根据系统的输出能唯一地确定系统的初始状态,则称系统能观。
为了说明图21-1所示电路的能观性,分别列出电桥不平衡和平衡时的状态空间表达式:平衡时:由式(2)可知,状态变量iL和uc没有耦合关系,外施信号u只能控制iL的变化,不会改变uc的大小,所以uc不能控。
基于输出是uc,而uc与iL无关连,即输出uc中不含有iL的信息,因此对uc的检测不能确定iL。
反之式(1)中iL与uc有耦合关系,即ur的改变将同时控制iL和uc的大小。
由于iL与uc的耦合关系,因而输出uc的检测,能得到iL 的信息,即根据uc的观测能确定iL(ω)五、实验步骤1.用2号导线将该单元中的一端接到阶跃信号发生器中输出2上,另一端接到地上。
将阶跃信号发生器选择负输出。
2.将短路帽接到2K处,调节RP2,将Uab和Ucd的数据填在下面的表格中。
然后将阶跃信号发生器选择正输出使调节RP1,记录Uab和Ucd。
此时为非能控系统,Uab和Ucd没有关系(Ucd始终为0)。
3.将短路帽分别接到1K、3K处,重复上面的实验。
现代控制理论实验报告

现代控制理论实验指导书实验一:线性系统状态空间分析1、模型转换图1、模型转换示意图及所用命令传递函数一般形式:)()(11101110n m a s a s a s a b s b s b s b s G n n n n m m m m ≤++++++++=----K KMATLAB 表示为:G=tf(num,den),其中num,den 分别是上式中分子,分母系数矩阵。
零极点形式:∏∏==--=n i j mi i ps z s K s G 11)()()( MATLAB 表示为:G=zpk(Z,P ,K),其中 Z ,P ,K 分别表示上式中的零点矩阵,极点矩阵和增益。
传递函数向状态空间转换:[A,B,C,D] = TF2SS(NUM,DEN);状态空间转换向传递函数:[NUM,DEN] = SS2TF(A,B,C,D,iu)---iu表示对系统的第iu个输入量求传递函数;对单输入iu为1;验证教材P438页的例9-6。
求P512的9-6题的状态空间描述。
>> A=[0 1;0 -2];>> B=[1 0;0 1];>> C=[1 0;0 1];>> D=[0 0;0 0];>> [NUM,DEN] = ss2tf(A,B,C,D,1)NUM =0 1 20 0 0DEN =1 2 0>> [NUM,DEN] = ss2tf(A,B,C,D,2)NUM =0 0 10 1 0DEN =1 2 0给出的结果是正确的,是没有约分过的形式P512 9-6>> [A,B,C,D]=tf2ss([1 6 8],[1 4 3])A =-4 -31 0B =1C =2 5D =12、状态方程求解单位阶跃输入作用下的状态响应:G=ss(A,B,C,D);[y,t,x]=step(G);plot(t,x). 零输入响应[y,t,x]=initial(G,x0)其中,x0为状态初值。
现代控制原理matlab实验报告1

现代控制原理matlab实验报告实验一.利用MATLAB进行线性系统的模型转换及联结一.实验目的1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数、零极点模型之间相互转换的方法;2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。
3、通过编程、上机调试,掌握系统模型的联结方法。
二.实验步骤1、根据所给系统的已知条件,如传递函数、零极点模型或(A 、B 、C 、D ),实现状态空间模型、传递函数模型、零极点增益模型之间的转换,采用MATLAB 的相关函数编写m -文件。
2、应用系统建模工具,并联、串联、闭环、反馈等函数解决实际问题。
3、在MA TLAB 界面下调试程序。
三.实验要求1.在运行以上例程序的基础上,应用MA TLAB 求下面传递函数阵的状态空间实现232252()234s s s G s s s s +⎡⎤⎢⎥++⎣⎦=+++提示:num =[0 0 1 2;0 1 5 3] 解:num=[0 0 1 2;0 1 5 2]; den=[1 2 3 4];[A,B,C,D]=tf2ss(num,den) A =-2 -3 -4 1 0 0 0 1 0 B =1 0 0 C =0 1 2 1 5 2 D =0 02.一个双输入双输出系统112233412311022711353x x x x u x x -⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦11223120011x y x y x ⎡⎤⎡⎤⎡⎤⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦求出此模型的能控标准型和能观标准型。
提示:写出两个子系统的传递函数模型,进而求出这两个传递函数模型的能控标准型实现或能观标准型实现,讨论是否能通过子系统的能控标准型实现或能观标准型实现求出原来系统的能控标准型和能观标准型。
解:A=[4 1 -2;1 0 2;1 -1 3]; B=[3 1;2 7;5 3]; C=[1 2 0;0 1 1]; D=[0];[num1,den1]=ss2tf(A,B1,C1,D) [num2,den2]=ss2tf(A,B2,C2,D)得到: num1 =0 7.0000 -19.0000 -36.0000den1 =1.0000 -7.0000 15.0000 -9.0000num2 =0 10.0000 -60.0000 98.0000den2 =1.0000 -7.0000 15.0000 -9.0000实验二.利用MATLAB 求取线性系统的状态空间模型的解并分析其稳定性一. 实验目的1、根据状态空间模型分析系统由初始状态和外部激励所引起的响应;2、了解系统稳定性的判定方法(直接法和间接法);3、通过编程、上机调试,掌握系统运动的分析方法。
现代控制理论基础实验报告

紫金学院计算机系实验报告现代控制理论基础实验报告专业:年级:姓名:学号:提交日期:实验一 系统能控性与能观性分析1、实验目的:1.通过本实验加深对系统状态的能控性和能观性的理解;2.验证实验结果所得系统能控能观的条件与由它们的判据求得的结果完全一致。
2、实验内容:1.线性系统能控性实验;2. 线性系统能观性实验。
3、实验原理:系统的能控性是指输入信号u 对各状态变量x 的控制能力。
如果对于系统任意的初始状态,可以找到一个容许的输入量,在有限的时间内把系统所有的状态变量转移到状态空间的坐标原点。
则称系统是能控的。
系统的能观性是指由系统的输出量确定系统所有初始状态的能力。
如果在有限的时间内,根据系统的输出能唯一地确定系统的初始状态,则称系统能观。
对于图10-1所示的电路系统,设i L 和u c 分别为系统的两个状态变量,如果电桥中4321R R R R ≠,则输入电压u 能控制i L 和u c 状态变量的变化,此时,状态是能控的;状态变量i L 与u c 有耦合关系,输出u c 中含有i L 的信息,因此对u c 的检测能确定i L 。
即系统能观的。
反之,当4321R R =R R 时,电桥中的c 点和d 点的电位始终相等, u c 不受输入u 的控制,u 只能改变i L 的大小,故系统不能控;由于输出u c 和状态变量i L 没有耦合关系,故u c 的检测不能确定i L ,即系统不能观。
1.1 当4321R RR R ≠时u L u i R R R R C R R R R R R R R L R R R R R R C R R R R R R R R L u i C L C L ⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎭⎫ ⎝⎛⨯⎪⎪⎪⎪⎪⎭⎫+++-+-+-⎝⎛+-+-+++-=⎪⎪⎭⎫ ⎝⎛01)11(1)(1)(1)(143214343212143421243432121 (10-1)y=u c =[01]⎪⎪⎪⎭⎫⎝⎛c L u i (10-2)由上式可简写为bu Ax x+= cx y =式中⎪⎪⎭⎫ ⎝⎛=C L u i x ⎪⎪⎪⎪⎪⎭⎫+++-+-+-⎝⎛+-+-+++-=)11(1)(1)(1)(143214343212143421243432121R R R R C R R R R R R R R L R R R R R R C R R R R R R R R L A⎪⎪⎪⎭⎫⎝⎛=01L b 1] [0=c由系统能控能观性判据得][Ab brank =2 2=⎥⎦⎤⎢⎣⎡cA c rank故系统既能控又能观。
现代控制理论实验报告

现代控制理论实验报告实验一 系统的传递函数阵和状态空间表达式的转换一、实验目的1.熟悉线性系统的数学模型、模型转换。
2.了解MATLAB 中相应的函数 二、实验内容及步骤 1.给定系统的传递函数为1503913.403618)(23++++=s s s s s G 要求(1)将其用Matlab 表达;(2)生成状态空间模型。
2.在Matlab 中建立如下离散系统的传递函数模型y (k + 2) +5y (k +1) +6y (k ) = u (k + 2) + 2u (k +1) +u (k ) 3.在Matlab 中建立如下传递函数阵的Matlab 模型⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+++++++++++=726611632256512)(2322s s s s s s s s s s s s G4.给定系统的模型为)4.0)(25)(15()2(18)(++++=s s s s s G求(1)将其用Matlab 表达;(2)生成状态空间模型。
5.给定系统的状态方程系数矩阵如下:[]0,360180,001,0100011601384.40==⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=D C B A用Matlab 将其以状态空间模型表示出来。
6.输入零极点函数模型,零点z=1,-2;极点p=-1,2,-3 增益k=1;求相应的传递函数模型、状态空间模型。
三、实验结果及分析1. num=[18 36];den=[1 40.3 391 150]; >> G=tf(num,den) Transfer function: 18 s + 36----------------------------s^3 + 40.3 s^2 + 391 s + 150>> sys=ss(G)a =x1 x2 x3x1 -40.3 -24.44 -4.688x2 16 0 0x3 0 2 0b =u1x1 2x2 0x3 0c =x1 x2 x3y1 0 0.5625 0.5625d =u1y1 0Continuous-time model.2. num=[1 2 1];den=[1 5 6];tf(num,den,0.1) Transfer function:z^2 + 2 z + 1-------------z^2 + 5 z + 6Sampling time: 0.13. num={[1 2 1] [1 5] [2 3] [6]};den={[1 5 6] [1 2] [1 6 11 6] [2 7]};>> tf(num,den)Transfer function from input 1 to output:s^2 + 2 s + 1-------------s^2 + 5 s + 6Transfer function from input 2 to output:s + 5-----s + 2Transfer function from input 3 to output:2 s + 3----------------------s^3 + 6 s^2 + 11 s + 6Transfer function from input 4 to output:6-------2 s + 74. sys=zpk([-2],[-15 -25 -0.4],[18])Zero/pole/gain:18 (s+2)---------------------(s+15) (s+25) (s+0.4)z=-2;p=[-15;-25;-0.4];k=18;>> [A,B,C,D]=zp2ss(z,p,k)A =-0.4000 0 01.6000 -40.0000 -19.36490 19.3649 0B =11C =0 0 0.9295D =5. A=[-40.4 -138 -160;1 0 0;0 1 0];B=[1;0;0];C=[0 18 360];D=0; >> sys=ss(A,B,C,D)a =x1 x2 x3 x1 -40.4 -138 -160x2 1 0 0x3 0 1 0b =u1x1 1x2 0x3 0c =x1 x2 x3y1 0 18 360d =u1y1 0Continuous-time model.6. z=[1;-2];p=[-1;2;-3];k=1;>> [A,B,C,D]=zp2ss(z,p,k)A =2.0000 0 01.0000 -4.0000 -1.73210 1.7321 0B =1C =1.0000 -3.0000 -2.8868D =>> [num,den]=ss2tf(A,B,C,D)num =0 1.0000 1.0000 -2.0000 den =1 2 -5 -6 >> tf(num,den) Transfer function: s^2 + s - 2 --------------------- s^3 + 2 s^2 - 5 s - 6 四、实验总结本次实验主要是熟悉利用matlab 建立线性系统数学模型以及模型间的相应转换(如状态空间、传递函数模型等)、并了解matlab 中相应函数的使用,如tf 、ss 、zp2ss 、ss2tf 等。
现代控制理论实验报告

倒立摆控制系统实验报告实验一建立一级倒立摆的数学模型一、实验目的学习建立一级倒立摆系统的数学模型,并进行Matlab仿真。
二、实验内容写出系统传递函数和状态空间方程,用Matlab进行仿真。
三、Matlab源程序及程序执行结果⑴Matlab源程序⑵给出系统的传递函数和状态方程传递函数gs(输出为摆杆角度)传递函数gspo(输出为小车位置)状态空间sys(A,B,C,D)⑶给出传递函数极点和系统状态矩阵A的特征值传递函数gs极点P传递函数gspo极点Po系统状态矩阵A的特征值E⑷给出系统开环脉冲响应和阶跃响应的曲线系统开环脉冲响应曲线系统开环阶跃响应曲线四、思考题(1) 由状态空间方程转化为传递函数,是否与直接计算传递函数相等?通过比较,可知传递函数gspo由状态空间方程转化为传递函数时,多了s的一次项,但是系数可以近似为0。
传递函数gs,则完全相等。
所以,状态空间方程转化为传递函数与直接计算传递函数可以认为是相等的。
(2) 通过仿真表明开环系统是否稳定?请通过极点(特征值)理论来分析。
开环系统不稳定。
根据极点理论可知,系统稳定的条件是极点均在左半平面。
但是,系统有一个极点5.4042不在左半平面。
因此,系统不稳定(3) 传递函数的极点和状态方程的特征值的个数、大小是否相等?如果不相等,请解释其原因。
传递函数gspo的极点和状态方程的特征值的个数、大小相等。
但是传递函数gs的极点和状态方程的特征值个数不相等。
因为存在零极点对消。
Matlab源程序:clear all;f1=0.001;%实际系统参数M=1.32;m=0.132;b=0.1;l=0.27;I=0.0032;g=9.8;T=0.02;%求传递函数gs(输出为摆杆角度)和gspo(输出为小车位置)q=(M+m)*(I+m*l^2)-(m*l)^2;num=[m*l/q 0];den=[1 b*(I+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];gs=tf(num,den);numpo=[(I+m*l^2)/q 0 -m*g*l/q];denpo=[1 b*(I+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q 0];gspo=tf(numpo,denpo);%求状态空间sys(A,B,C,D)p=I*(M+m)+M*m*l^2;A=[0 1 0 0;0 -(I+m*l^2)*b/p m^2*g*l^2/p 0;0 0 0 1;0 -m*b*l/p m*g*l*(M+m)/p 0];B=[0;(I+m*l^2)/p;0;m*l/p];C=[1 0 0 0;0 0 1 0];D=[0;0];sys=ss(A,B,C,D);%通过传递函数求系统(摆杆角度和小车位置)的开环脉冲响应t=0:T:5;y1=impulse(gs,t);y2=impulse(gspo,t);figure(1);plot(t,y2,'b',t,y1,'r');xlabel('t/s');ylabel('Position/m or Angle/rad');axis([0 2 0 80]);legend('Car Position','Pendulum Angle');%将状态空间方程sys转化为传递函数gs0gs0=tf(sys);%通过状态方程求系统(摆杆角度和小车位置)的开环脉冲响应t=0:T:5;y=impulse(sys,t);figure(2);plot(t,y(:,1),t,y(:,2),'r');xlabel('t/s');ylabel('Position/m or Angle/rad');axis([0 2 0 80]);legend('Car Position','Pendulum Angle');%通过传递函数求系统(摆杆角度和小车位置)的开环阶越响应t=0:T:5;y1=step(gs,t);y2=step(gspo,t);figure(3);plot(t,y2,'b',t,y1,'r');axis([0 2.5 0 80]);xlabel('t/s');ylabel('Position/m or Angle/rad');legend('Car Position','Pendulum Angle');%通过状态方程求系统(摆杆角度和小车位置)的开环阶越响应t=0:T:5;y=step(sys,t);figure(4);plot(t,y(:,1),t,y(:,2),'r');xlabel('t/s');ylabel('Position/m or Angle/rad');axis([0 2.5 0 80]);legend('Car Position','Pendulum Angle');%求传递函数极点P=pole(gs);Po=pole(gspo);%求A的特征值E=eig(A);实验二倒立摆系统控制算法的状态空间法设计一、实验目的学习如何使用状态空间法设计系统的控制算法。
现代控制理论实验报告(汇编)

现代控制理论实验报告二〇一六年五月实验一 线性定常系统模型一 实验目的1. 掌握线性定常系统的状态空间表达式。
学会在MATLAB 中建立状态空间模型的方法。
2. 掌握传递函数与状态空间表达式之间相互转换的方法。
学会用MATLAB 实现不同模型之间的相互转换。
3. 熟悉系统的连接。
学会用MATLAB 确定整个系统的状态空间表达式和传递函数。
4. 掌握状态空间表达式的相似变换。
掌握将状态空间表达式转换为对角标准型、约当标准型、能控标准型和能观测标准型的方法。
学会用MATLAB 进行线性变换。
二 实验内容1. 已知系统的传递函数)3()1(4)(2++=s s s s G (1)建立系统的TF 或ZPK 模型。
(2)将给定传递函数用函数ss( )转换为状态空间表达式。
再将得到的状态空间表达式用函数tf( )转换为传递函数,并与原传递函数进行比较。
(3)将给定传递函数用函数jordants( )转换为对角标准型或约当标准型。
再将得到的对角标准型或约当标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。
(4)将给定传递函数用函数ctrlts( )转换为能控标准型和能观测标准型。
再将得到的能控标准型和能观测标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。
2. 已知系统的传递函数u x x ⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡--=106510 []x y 11=(1)建立给定系统的状态空间模型。
用函数eig( ) 求出系统特征值。
用函数tf( ) 和zpk( )将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。
比较系统的特征值和极点是否一致,为什么?(2)用函数canon( )将给定状态空间表达式转换为对角标准型。
用函数eig( )求出系统特征值。
比较这些特征值和(1)中的特征值是否一致,为什么? 再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。
比较这些传递函数和(1)中的传递函数是否一致,为什么?(3)用函数ctrlss( )将给定的状态空间表达式转换为能控标准型和能观测标准型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
于是时间离散化状态空间模型为
0.9709 0.0448 0.0012 x k 1 1.1212 0.7915 x k 0.0448 u k
5.已知系数阵 A 和输入阵 B 分别如下,判断系统的状态能控性
-1-
其中(num,den)分别为系统的分子和分母多项式系数向量,返回变量 G 为系统传 递函数对象。 线性定常系统的状态空间模型可以表示为 x Ax Bu y Cx Du 表示状态空间模型的基本要素是状态向量和常数矩阵 A、B、C、D,只需将各系 数矩阵按常规矩阵方式输入到工作空间即可。即: >> A=[a11,a12,...a1n;a21,a22,...,a2n;...,an1,an2,...,ann]; >> B=[b0,b1,...,bm]; >> C=[c1,c2,...,cn]; >> D=d; 类似于传递函数对象,调用状态方程对象 ss()构造状态方程模型,调用格 式如下:ss(A,B,C,D),该函数也适用于多变量系统。 MATLAB 中还可以方便地进行传递函数模型与状态空间模型的转换。
-3-
G=tf(num,den) %将其输入到MATLAB工作空间 G1=ss(G) %获得系统的状态空间模型
得到系统的状态空间模型:
2 1.5 0.75 2.25 2 0 4 0 0 0 x x u 0 0 1 0 0 0 1 0 0 0 y 0 0.125 0.625 1 x
m m
若系数 ai t i 1, , n 和 bi t i 1, , m 为常数, 则系统称为线性定常系统 (LTI) 。 利用命令 num=[b0,b1,...,bn];den=[1,a1,a2,...,an];即可将传递函数模 型输入到 MATLAB 工作空间。 调用 tf()函数可构造出对应传递函数对象,调用格式为:G=tf(num,den);
得系统的状态响应曲线,如图 4 所示:
-9-
图 4 系统的状态响应曲线
4. 已知一个连续系统的状态方程是
1 0 0 x x u 25 4 1
若取采样周期 T 0.05 秒 (1)试求相应的离散化状态空间模型; (2)分析不同采样周期下,离散化状态空间模型的结果。
得到系统零状态响应曲线,如图 2 所示:
-7-
图 2 系统零状态响应曲线
(4) u 0 , x 0 ,绘制系统的状态响应及输出响应曲线;
1 2
解:在 MATLAB 工作空间中输入
clc; A=[0 1;-2 -3]; B=[3; 0]; C=[1 1]; D=0; x04=[1;2]; G=ss(A,B,C,D); [y,t,x]=initial(G,x04) plot(t,x) ylabel('X'); xlabel('t/s')
一、实验目的
1、学习系统状态空间表达式的建立方法、了解系统状态空间表达式与传递 函数相互转换的方法。 2、通过编程、上机调试,掌握系统状态空间表达式与传递函数相互转换方 法。 3、学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响 应。 4、通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制状态响 应曲线。 5、掌握利用 MATLAB 导出连续状态空间模型的离散化模型的方法。 6、学习系统状态能控性、能观测性的定义及判别方法。 7、 通过用 MATLAB 编程、 上机调试, 掌握系统能控性、 能观测性的判别方法, 掌握将一般形式的状态空间描述变换成能控标准形、能观标准形。
(2) u 1(t ) , x 0 ,绘制系统的状态响应及输出响应曲线;
0 0
解:在 MATLAB 工作空间中输入
clc; A=[0 1;-2 -3]; B=[3; 0]; C=[1 1]; D=0; x01=[0;0]; G=ss(A,B,C,D); [y,t,x]=step(G) plot(t,x) ylabel('X'); xlabel('t/s& b1 t u m 1 bm 1 t u bm t u
对应的传递函数模型一般可表示为 b0 t s b1 t s 1 bm 1 t s bm t g s s n a1 t s n 1 an 1 t s an t
2.已知 SISO 系统的状态空间表达式为
1 0 1 0 x1 1 x1 x x 2 0 0 1 x2 3 u , y 1 0 0 x2 3 x3 x 4 3 2 x3 6
解:在 MATLAB 工作空间中输入
clc; syms s t A=[0 1;-25 -4]; B=[0;1]; T=0.05; G=expm(A*T) H=(int(ilaplace((inv(s*eye(2)-A))),t,0,T))*B
运行得到时间离散化系统的系数矩阵
0.9709 0.0448 G 1.1212 0.7915 0.0012 H 0.0448
得到运行结果:
-4-
由运行结果可知,系统的传递函数模型:
g s
s 2 5s 3 s 3 2s 2 3s 4
3.已知 SISO 系统的状态方程为
0 1 3 x x u 2 3 0 y 1 1 x
(1) u 0 , x 0
二、实验设备
PC 计算机 1 台,MATLAB 软件 1 套
三、实验原理
1、用 MATLAB 分析状态空间模型 线性系统的微分方程一般可表示为
y a1 t y
n
n 1
a2 t y
n 2
an 1 t y an t y
得系统零输入状态响应曲线,如图 3 所示:
-8-
图 3 系统零输入状态响应曲线
(5)在余弦输入信号和初始状态 x 0 下的状态响应曲线。
1 1
解:在 MATLAB 工作空间中输入
clc; A=[0 1;-2 -3]; B=[3; 0]; C=[1 1]; D=0; x05=[1;1]; u5=cos(t); G=ss(A,B,C,D); [y1,t,x1]=initial(G,x05) [y2,t,x2]=lsim(G,u5,t) x=x1+x2 plot(t,x) ylabel('X'); xlabel('t/s')
-2-
换阵,将系统变换成能控标准形、能观测标准形实际上就是一些矩阵的运算。类 似地求解线性定常系统的时间离散化状态模型也是如此。
四、实验步骤
1、用 MATLAB 分析状态空间模型 (1)根据所给系统的传递函数或 A、B、C 矩阵,依据系统的传递函数阵和状态 空间表达式之间的关系式,采用 MATLAB 编程。 (2)在 MATLAB 界面下调试程序,并检查是否运行正确。 2、用 MATLAB 求解系统的状态方程 (1)根据所给系统的状态方程,依据系统状态方程的解的表达式,采用 MATLAB 编程。 (2)在 MATLAB 界面下调试程序,并检查是否运行正确。 3、系统的能控性、能观测性分析 (1) 根据系统的系数阵 A 和输入阵 B, 依据能控性判别式, 对所给系统采用 MATLAB 编程;在 MATLAB 界面下调试程序,并检查是否运行正确。 (2) 根据系统的系数阵 A 和输出阵 C, 依据能观性判别式, 对所给系统采用 MATLAB 编程;在 MATLAB 界面下调试程序,并检查是否运行正确。 (3)构造变换阵,将一般形式的状态空间描述变换成能控标准形、能观标准形。
得到系统阶跃输入状态响应曲线,如图 1 所示:
-6-
图 1 系统阶跃输入响应曲线 (3) u 1 e cos 3t , x 0 ,绘制系统的状态响应及输出响应曲线;
t
0 0
解:在 MATLAB 工作空间中输入
clc; A=[0 1;-2 -3]; B=[3; 0]; C=[1 1]; D=0; u=1+exp(-t).*cos(3*t); x03=[0;0]; G=ss(A,B,C,D); [y,t,x]=lsim(G,u,t) plot(t,x) ylabel('X'); xlabel('t/s')
(1)将其输入到 MATLAB 工作空间; (2)求系统的传递函数。
解:在MATLAB工作空间中输入
clc; A=[0 1 0;0 0 1;-4 -3 -2]; B=[1; 3; -6]; C=[1 0 0]; D=0; G=ss(A,B,C,D) %将其输入到MATLAB工作空间 G1=tf(G) %求系统的传递函数
1 ,求当 t=0.5 时系统的矩阵系数及状态响应; 1
解:在MATLAB工作空间中输入
-5-
>> clc; A=[0 1;-2 -3]; B=[3; 0]; C=[1 1]; D=0; u1=0; x01=[1;-1]; p1=expm(A1*0.5) x1=p1*x01
0.8452 0.2387 0.6065 及状态响应 x 得到:t=0.5时系统的矩阵系数 p 0.6065 0.4773 0.1292
x t e At x 0 e
0
t A t
Bu d , t 0
(1)可以用 MATLAB 中的 expm 函数来计算给定时刻的状态转移矩阵。 (2)可以用 step( )函数求取阶跃输入时系统的状态响应,函数的调用格式 为:[y,t,x]=step(G),其中,G 为给定系统的 LTI 模型。当该函数被调用后, 将同时返回自动生成的时间变量 t、系统输出 y 和系统状态响应向量 x。 (3)类似 step( )函数,可以调用 lsim( )函数求取任意输入时系统的状态响 应,调用格式为:[y,t,x]= lsim(G,u,t),当系统状态初值为零时的响应(零 状态响应)可用 lsim( )函数直接求得。 (4)类似地,可以调用 initial( )函数求取系统的零输入响应,调用格式为: [y,t,x]= initial(G,x0),其中 x0 为系统的状态初值。 3、系统的能控性、能观测性分析 可以利用 MATLAB 来进行系统的能控性和能观测性的判断和分析。MATLAB 提 供了各种矩阵运算和矩阵各种指标的求解,而能控性、能观测性的判断和构造变