《现代控制理论实验报告中南大学》由会员分享,可在线阅读,更多相关《现代控制理论实验报告中南大学(19页珍藏版)》请在金锄头文库上搜索。
1、中南大学现代控制实验报告指导老师设 计 者学号专业班级设计日期实验一用 MATLAB 分析状态空间模型1、实验设备PC 计算机 1 台, MATLAB软件 1 套。2、实验目的 学习系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法; 通过编程、上机调试,掌握系统状态空间表达式与传递函数相互转换方法。3、实验原理说明线性系统数学模型的常见的形式有,输入输出模式数学模型(传递函数和微分方程)和状态空间模式数学模型(状态空间表达式或动态方程)。传递函数模型一般可表示为:若上式中分子分母各项系数为常数,则系统称为线性定常系统(linear time invariant,LT
2、I) 利用下列命令可轻易地将传递函数模型输入MATLAB环境中。num=b0,b1, ,bn; den=1,a1,a2,an; 而调用 tf() 函数可构造出对应传递函数对象。调用格式为:G=tf(num,den); 其中 (num,den)分别为系统的分子和分母多项式系数的向量,返回变量G 为系统传递函数对象。线性定常系统的状态空间模型可表示为表示状态空间模型的基本要素是状态向量和常数矩阵A,B,C,D。用类似的方法可将其输入 MATLAB 环境,对单输入单输出系统,A=a11,a12, a1n;a21,a22,a2n;an1,an2,ann; B=b1;b2; ;bn; C=c1,c2,
3、cn; D=d; 调用 ss()状态方程对象可构造状态方程模型,调用格式如下:ss(A,B,C,D) 对于两种模型之间的转换,则可分别调用tf()和 ss()完成,即:G1=tf(G) G2=ss(G ) 4、实验步骤根据所给系统的传递函数或A、B、C 矩阵,依据系统的传递函数阵和状态空间表达式之间的关系式,采用MATLAB编程。)()()()()()()()(11 111 10 tastastastbstbstbstbsgnnnnmmmmDuCxyBuAxx在 MA TLAB 界面下调试程序,并检查是否运行正确。题 1.1 已知 SISO 系统的传递函数为243258( )2639ssg s
4、ssss(1)将其输入到MATLAB工作空间;(2)获得系统的状态空间模型。题 1.2已知 SISO 系统的状态空间表达式为112233010100134326xxxxuxx,123100xyxx(1)将其输入到MATLAB工作空间;(2)求系统的传递函数。题 1.1 代码及结果num=1,5,8; den=1,2,6,3,9; G=tf(num,den); G1=ss(G) a = x1 x2 x3 x4 x1 -2 -1.5 -0.375 -1.125 x2 4 0 0 0 x3 0 2 0 0 x4 0 0 1 0 b = u1 x1 1 x2 0 x3 0 x4 0 c = x1 x2
5、 x3 x4 y1 0 0.25 0.625 1 d = u1 y1 0 Continuous-time model. 题 1.2 代码及结果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); G1=tf(G) Transfer function: s2 + 5 s + 3 - s3 + 2 s2 + 3 s + 4 实验二利用 MATLAB 求解系统的状态方程1、实验设备PC 计算机 1 台, MATLAB软件 1 套。2、实验目的 学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应; 通过编程、上机调试
6、,掌握求解系统状态方程的方法,学会绘制状态响应曲线; 掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。3、实验原理说明在 MATLAB 中,调用 expm(A) 可求得矩阵指数;调用 step()可求取阶跃输入时系统的状态响应; 调用 lsim() 可求取零状态响应;调用 initial() 可求取零输入响应。它们的调用格式分别如下:expm(A) y,t,x=step(G) y,t,x=lsim(G ,u,t) y,t,x=initial(G ,x0) 4、实验步骤(1)根据所给系统的状态方程,依据系统状态方程的解的表达式,采用MATLAB 编程。(2)在 MATLAB界面下调试
7、程序,并检查是否运行正确。题 2.1 已知 SISO 系统的状态方程为Ae0132301 1xxuyx(1)0u,101x,求当 t=0.5 时系统的矩阵系数及状态响应;(2)1( )ut,000x,绘制系统的状态响应及输出响应曲线;(3)1cos3tuet,000x,绘制系统的状态响应及输出响应曲线;(4)0u,102x,绘制系统的状态响应及输出响应曲线;(5)在余弦输入信号和初始状态101x下的状态响应曲线。题 2.2 已知一个连续系统的状态方程是0102541xxu若取采样周期0.05T秒(1)试求相应的离散化状态空间模型;(2)分析不同采样周期下,离散化状态空间模型的结果。题 2.1
8、代码及结果(1). A=0,1;-2,-3; expm(A*0.5) ans = 0.8452 0.2387 -0.4773 0.1292 x0=1;-1; x=expm(A*0.5)*x0 x = 0.6065 -0.6065 (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);plot(t,x) 状态响应: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
9、,u,t);plot(t,x) 状态响应: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);plot(t,x) 状态响应: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);
10、 y=y1+y2; x=x1+x2; plot(t,x); 状态响应:题 2.2 代码及结果A=0,1;-25,-4;B=0;1; Gz,Hz=c2d(A,B,0.05) Gz = 0.9709 0.0448 -1.1212 0.7915 Hz = 0.0012 0.0448 实验三系统的能控性、能观测性分析1、实验设备PC 计算机 1 台, MATLAB 软件 1 套。2、实验目的 学习系统状态能控性、能观测性的定义及判别方法; 通过用MATLAB编程、上机调试,掌握系统能控性、能观测性的判别方法,掌握将一般形式的状态空间描述变换成能控标准形、能观标准形。3、实验原理说明由系统状态方程求能控
11、性矩阵Uc,调用函数rank()可求得 Uc 的秩,从而判断系统的能控性,同理求得能观性矩阵Uo,用 rank()求其秩,再判断系统的能观性。4、实验步骤根据系统的系数阵A 和输入阵 B,依据能控性判别式,对所给系统采用MA TLAB 编程;在 MATLAB 界面下调试程序,并检查是否运行正确。根据系统的系数阵A 和输出阵 C,依据能观性判别式,对所给系统采用MATLAB编程;在 MATLAB 界面下调试程序,并检查是否运行正确。构造变换阵,将一般形式的状态空间描述变换成能控标准形、能观标准形。题 3.1已知系数阵A 和输入阵B 分别如下,判断系统的状态能控性2101013333.06667.
12、10666.6A,110B题 3.2已知系数阵A 和输出阵C 分别如下,判断系统的状态能观性。2101013333.06667.10666.6A,201C题 3.3已知系统状态空间描述如下021151202001110xxuyx(1)判断系统的状态能控性;(2)判断系统的状态能观测性;(3)构造变换阵,将其变换成能控标准形;(4)构造变换阵,将其变换成能观测标准形;题 3.1 代码及结果A=6.666,-10.6667,-0.3333;1,0,1;0,1,2;B=0;1;1; Uc=B,A*B,A2*B; rank(Uc) ans = 3 题 3.2 代码及结果A=6.666,-10.6667
13、,-0.3333;1,0,1;0,1,2;C=1,0,2; Uo=C;C*A;C*A2; rank(Uo) ans = 3 题 3.3 代码及结果A=0,2,-1;5,1,2;-2,0,0;B=1;0;-1;C=1,1,0; Uc=B,A*B,A2*B; Uo=C;C*A;C*A2; (1).判断能控性:rank(Uc) ans = 3 (2).判断能观性: rank(Uo) ans = 3 (3).构造变换阵,转化成能控标准型:A=0,2,-1;5,1,2;-2,0,0;B=1;0;-1;C=1,1,0; Uc=B,A*B,A2*B; rank(Uc); p1=0,0,1*inv(Uc);
14、P=p1;p1*A;p1*A2 P = 0.1364 0.0455 0.1364 -0.0455 0.3182 -0.0455 1.6818 0.2273 0.6818 Ac=P*A*inv(P) Ac = 0 1.0000 0 0 0.0000 1.0000 -10.0000 12.0000 1.0000 Bc=P*B Bc = 0 0 1.0000 (4).构造变换阵,转化成能观标准型:A=0,2,-1;5,1,2;-2,0,0;B=1;0;-1;C=1,1,0; Uo=C;C*A;C*A2; rank(Uo); T1=inv(Uo)*0;0;1; T=T1,A*T1,A2*T1 T =
15、-0.5000 0 -1.0000 0.5000 0 2.0000 1.0000 1.0000 0 Ao=inv(T)*A*T Ao = 0 0 -10 1 0 12 0 1 1 Co=C*T Co = 0 0 1 实验四系统稳定性分析1、实验设备PC 计算机 1 台, MATLAB 软件 1 套。2、实验目的 学习系统稳定性的定义及李雅普诺夫稳定性定理; 通过用 MA TLAB 编程、上机调试,掌握系统稳定性的判别方法。3、实验原理说明根据李雅普诺夫第一第二方法判断系统的稳定性。4、实验步骤(1)掌握利用李雅普诺夫第一方法判断系统稳定性;(2)掌握利用李雅普诺夫第二方法判断系统稳定性。题 4.1某系统状态空间描述如下021151202001110xxuyx(1)利用李雅普诺夫第一方法判断其稳定性;(2)利用李雅普诺夫第二方法判断其稳定性。题 4.1 代码及结果(1)李雅普诺夫第一方法:%存为 stability.m %输入系统状态方程A=0,2,-1;5,1,2;-2,0,0;B=1;0;-1;C=1,1,0;D=0; %设立标志变量,判断是否稳定flag=0; %求解零极点及增益z,p,k=ss2zp(A,B,C,D,1); %显示结果disp(System z