实验一 现代控制理论实验材料.docVIP

  • 1
  • 0
  • 约2.85千字
  • 约 6页
  • 2017-10-18 发布于河北
  • 举报
实验一 现代控制理论实验材料.doc

实验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 t A=[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 T A=[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) 无论对

文档评论(0)

1亿VIP精品文档

相关文档