现代控制实验(Matlab).doc_第1页
现代控制实验(Matlab).doc_第2页
现代控制实验(Matlab).doc_第3页
现代控制实验(Matlab).doc_第4页
现代控制实验(Matlab).doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

实验1:用MATLAB语言对状态空间模型进行分析一实验目的:1.掌握状态方程和输出方程输入语句G=ss(A,B,C,D)的用法2.求状态方程的解3.判断系统的能控性与能观性4.判断系统的稳定性二实验原理:1掌握状态方程和输出方程输入语句G=ss(A,B,C,D)的用法对于线性时不变系统来说,其状态方程为在Matlab下只需将各系数矩阵输到工作空间即可。 调用格式: G=ss(A,B,C,D)例1 双输入双输出系统的状态方程表示为,该状态方程可以由下面语句输入到MATLAB工作空间去。A=1,2,0,4;3,-1,6,2;5,3,2,1;4,0,-2,7;B=2,3;1,0;5,2;1,1;C=0,0,2,1;2,2,0,1;D=zeros(2,2);G=ss(A,B,C,D)2.矩阵eAt的数值计算在Matlab中,给定矩阵A和时间t的值,计算矩阵指数eAt的值可以直接采用基本矩阵函数expm()。Matlab的expm()函数采用帕德(Pade)逼近法计算矩阵指数eAt,精度高,数值稳定性好。expm()函数的主要调用格式为:Y = expm(X)其中,X为输入的需计算矩阵指数的矩阵,Y为计算的结果。例2.(1)试在Matlab中计算矩阵 的矩阵指数eAt。syms tA=0 1;-1 -3;eAt=expm(A*t)(2)求在t=0.3时的矩阵指数eAt的值。A=0 1;-1 -3;eAt=expm(A*t)t=0.3;eAt03=expm(A*t)3.求状态方程的解例3.已知SISO系统的状态方程为(选作)(1),求当t=0.5时系统的矩阵指数及状态响应;矩阵指数:A=0,1;-2,-3; expm(A*0.5)状态响应:x0=1;-1;x=expm(A*0.5)*x0(选作)(2),绘制系统的状态响应及输出响应曲线;程序: A=0,1;-2,-3;B=3;0;C=1,1;D=0;G=ss(A,B,C,D);y,t,x=step(G);figure(1);plot(t,x) ; %状态响应:figure(2);plot(t,y);%输出响应: (选作)(3),绘制系统的状态响应及输出响应曲线;程序:A=0,1;-2,-3;B=3;0;C=1,1;D=0;t=0:.04:4;u=1+exp(-t).*cos(3*t);G=ss(A,B,C,D);y,t,x=lsim(G,u,t);figure(1);plot(t,x) %状态响应:figure(2);plot(t,y) %输出响应:(选作)(4),绘制系统的状态响应及输出响应曲线;程序:A=0,1;-2,-3;B=3;0;C=1,1;D=0;t=0:.04:7;u=0;x0=1;2;G=ss(A,B,C,D);y,t,x=initial(G,x0,t);figure(1);plot(t,x) %状态响应:figure(2);plot(t,y)%输出响应:(5)在余弦输入信号和初始状态下的状态响应曲线。程序:A=0,1;-2,-3;B=3;0;C=1,1;D=zeros(1,1);x0=1;1;t=0:.04:15; u=cos(t);G=ss(A,B,C,D);G1=tf(G);y1,t,x1=initial(G,x0,t);y2,t,x2=lsim(G,u,t);y=y1+y2;x=x1+x2;plot(t,x);4.应用MATLAB变连续系统状态空间模型为离散状态空间模型MATLAB Control system Toolbox 提供的c2d()函数可简化线性定常连续状态方程离散化系数矩阵的求解,设控制输入采用零阶保持器,T为采样周期,其调用格式为G,H=c2d(A,B,T)例4连续系统离散花已知一个连续系统的状态方程是若取采样周期秒(1)试求相应的离散化状态空间模型;程序:syms TA=0,1;-25,-4;B=0;1; G,H=c2d(A,B,T)(2)分析不同采样周期下,离散化状态空间模型的结果。A=0,1;-25,-4;B=0;1; Gz,Hz=c2d(A,B,0.05)5.状态能控性能观性判定Matlab提供的函数ctrb()可根据给定的系统模型,计算能控性矩阵Qc=B AB An-1B能控性矩阵函数ctrb()的主要调用格式为:Qc = ctrb(A,B)Qc = ctrb(sys)无论对连续还是离散的线性定常系统,采用代数判据判定状态能观性需要计算定义的能观性矩阵 和 并要求能观性矩阵Qo的秩等于状态空间维数。Matlab提供的函数obsv()可根据给定的系统模型计算能观性矩阵。能观性矩阵函数obsv()的主要调用格式为Qo = obsv(A,C)Qo = obsv(sys)判断系统能控性程序:A=-2,2,-1;0,-2,0;1,-4,0;B=0,0;0,1;1,0;Qc=ctrb(A,B);n=rank(Qc);L=length(A);if n= =L str=系统是状态完全能控else str=系统是状态不完全能控end 判断系统能观性程序:A=-3,1,0;0,-3,0;0,0,-1;B=1,-1;0,0;2,0;C=1,0,1;-1,1,0;q1=C;q2=C*A;%将CA的结果放在q2中q3=C*A2;%将CA2的结果放在q3中,Qo=q1;q2;q3%将能观矩阵Qo显示在MATLAB的窗口Q=rank(Qo)%能观矩阵Qo的秩放在

温馨提示

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

评论

0/150

提交评论