现代控制理论实验指导书.docx
《现代控制理论实验指导书.docx》由会员分享,可在线阅读,更多相关《现代控制理论实验指导书.docx(13页珍藏版)》请在冰豆网上搜索。
现代控制理论实验指导书
《现代控制理论》实验指导书
武汉理工大学自动化学院
实验一系统的传递函数阵和状态空间表达式的转换
一、实验目的
1.学习多变量系统状态空间表达式的建立方法、了解统状态空间表达式与传递函数相互转换的方法;
2.通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。
二、实验要求
学习和了解系统状态方程的建立与传递函数相互转换的方法;
三、实验设备
1.计算机1台
2.MATLAB6.X软件1套。
四、实验原理说明
设系统的模型如式(1-1)示。
(1-1)
其中A为n×n维系数矩阵、B为n×m维输入矩阵C为p×n维输出矩阵,D为传递阵,一般情况下为0,只有n和m维数相同时,D=1。
系统的传递函数阵和状态空间表达式之间的关系如式(1-2)示。
(1-2)
式(1.2)中,
表示传递函数阵的分子阵,其维数是p×m;
表示传递函数阵的按s降幂排列的分母。
五、验步骤
1.据所给系统的传递函数或(A、B、C阵),依据系统的传递函数阵和状态空间表达式之间的关系如式(1-2),采用MATLA的file.m编程。
注意:
ss2tf和tf2ss是互为逆转换的指令;
2.在MATLA界面下调试程序,并检查是否运行正确。
3.[例1.1]已知SISO系统的状态空间表达式为(1-3),求系统的传递函数。
(1-3)
程序:
%首先给A、B、C阵赋值;
A=[010;001;-4-3-2];
B=[1;3;-6];
C=[100];
D=0;
%状态空间表达式转换成传递函数阵的格式为[num,den]=ss2tf(a,b,c,d,u)
[num,den]=ss2tf(A,B,C,D,1)
程序运行结果:
num=
01.00005.00003.0000
den=
1.00002.00003.00004.0000
从程序运行结果得到:
系统的传递函数为:
(1-4)
4.[例1.2]从系统的传递函数(1.4)式求状态空间表达式。
程序:
num=[0153];%在给num赋值时,在系数前补0,必须使num和den赋值的个数相同;
den=[1234];
[A,B,C,D]=tf2ss(num,den)
程序运行结果:
A=B=
-2-3-41
1000
0100
C=D=
1530
由于一个系统的状态空间表达式并不唯一,[例1.2]程序运行结果虽然不等于式(1-3)中的A、B、C阵,但该结果与式(1-3)是等效的。
不防对上述结果进行验证。
5.[例1.3]对上述结果进行验证编程
%将[例1.2]上述结果赋值给A、B、C、D阵;
A=[-2-3-4;100;010];
B=[1;0;0];
C=[153];
D=0;
[num,den]=ss2tf(A,B,C,D,1)
程序运行结果与[例1.1]完全相同。
六、实验要求
在运行以上[例]程序的基础上,应用MATLAB对(1-5)系统仿照[例1.2]编程,求系统的A、B、C、阵;然后再仿照[例1.3]进行验证。
并写出实验报告。
(1-5)
提示:
num=[0012;0153];
实验2多变量系统的能控、能观和稳定性分析
一、实验目的
1.学习多变量系统状态能控性及稳定性分析的定义及判别方法;
2.学习多变量系统状态能观性及稳定性分析的定义及判别方法;
3.通过用MATLAB编程、上机调试,掌握多变量系统能控性及稳定性判别方法。
二、实验要求
1.掌握系统的能控性分析方法。
2.掌握能控性分析方法。
3.掌握稳定性分析方法。
三、实验设备
1.计算机1台
2.MATLAB6.X软件1套。
四、实验原理说明
1.设系统的状态空间表达式
(2-1)
系统的能控分析是多变量系统设计的基础,包括能控性的定义和能控性的判别。
系统状态能控性的定义的核心是:
对于线性连续定常系统(2-1),若存在一个分段连续的输入函数U(t),在有限的时间(t1-t0)内,能把任一给定的初态x(t0)转移至预期的终端x(t1),则称此状态是能控的。
若系统所有的状态都是能控的,则称该系统是状态完全能控的。
2.系统输出能控性是指输入函数U(t)加入到系统,在有限的时间(t1-t0)内,能把任一给定的初态x(t0)转移至预期的终态输出y(t1)。
能控性判别分为状态能控性判别和输出能控性判别。
状态能控性分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能控性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能控性分为一般判别是应用最广泛的一种判别法。
输出能控性判别式为:
(2-2)
状态能控性判别式为:
(2-3)
系统的能观分析是多变量系统设计的基础,包括能观性的定义和能观性的判别。
系统状态能观性的定义:
对于线性连续定常系统(2-1),如果对t0时刻存在ta,t0,根据[t0,ta]上的y(t)的测量值,能够唯一地确定S系统在t0时刻的任意初始状态x0,则称系统S在t0时刻是状态完全能观测的,或简称系统在[t0,ta]区间上能观测。
状态能观性分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能观性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能观性分为一般判别是应用最广泛的一种判别法。
状态能控性判别式为:
(2-4)
3.只要系统的A的特征根实部为负,系统就是状态稳定的。
式(1-2)又可写成:
(2.5)
当状态方程是系统的最小实现时,
,系统的状态渐近稳定与系统的BIBO(有界输入有界输出)稳定等价;
当
时,若系统状态渐近稳定则系统一定是的BIBO稳定的。
五、实验步骤
1.先调试[例2.1]、[例2.2]系统能控性、能观性程序,然后根据所给系统的系数阵A和输入阵B,依据2.3能控性、能观性判别式,对所给系统采用MATLA的file.m编程;在MATLA界面下调试程序,并检查是否运行正确。
2.调试[例2.3]系统稳定性分析程序,验证稳定性判据的正确性。
3.按实验要求,判断所给的具有两个输入的四节系统的能控性。
[例2.1]:
已知系数阵A和输入阵B分别如下,判断系统的状态能控性
,
程序:
A=[6.6667-10.6667-0.3333
1.000001
01.00002];
B=[0;1;1];
q1=B;
q2=A*B;%将AB的结果放在q2中
q3=A^2*B;%将A2B的结果放在q3中,
Qc=[q1q2q3]%将能控矩阵Qc显示在MATLAB的窗口
Q=rank(Qc)%能控矩阵Qc的秩放在Q
程序运行结果:
Qc=
0-11.0000-85.0003
1.00001.0000-8.0000
1.00003.00007.0000
Q=3
从程序运行结果可知,能控矩阵Qc的秩为3=n,所以系统是状态能控性的。
[例2.2]:
已知系数阵A和输入阵C分别如下,判断系统的状态能观性。
,
程序:
A=[6.6667-10.6667-0.3333
1.000001
01.00002];
C=[102];
q1=C;
q2=C*A;%将CA的结果放在q2中
q3=C*A^2;%将CA2的结果放在q3中,
Qo=[q1;q2;q3]%将能观矩阵Qo显示在MATLAB的窗口
Q=rank(Qo)%能观矩阵Qo的秩放在Q
程序运行结果:
Qo=
1.000002.0000
6.6667-8.66673.6667
35.7782-67.4450-3.5553
Q=3
从程序运行结果可知,能控矩阵Qo的秩为3=n,由式(2-4)可知,系统是状态完全能观性的。
[例2.3]:
已知系数阵A、B、和C阵分别如下,分析系统的状态稳定性。
(2-6)
④根据题义编程:
A=[010;001;-4-3-2];
B=[1;3;-6];
C=[100];
D=0;
[z,p,k]=ss2zp(A,B,C,D,1)
程序运行结果:
z=
-4.3028
-0.6972
p=
-1.6506
-0.1747+1.5469i
-0.1747-1.5469i
k=1
由于系统的零、极点均具有负的实部,则系统是BIBO稳定的;又因为状态方程是系统的最小实现,系统的状态渐近稳定与系统的BIBO稳定等价,所以系统是状态渐近稳定的。
六、实验要求
①在运行以上[例]程序的基础上,编程判别下面系统的能控性。
提示:
从B阵看,输人维数m=2,Qc的维数为n×(m×n)=3×6,而Q=rank(Qc)语句要求Qc是方阵,所以先令
,然后Q=rank(R)。
②要求调试自编程序,并写出实验报告。
实验三系统设计:
状态观测器的设计
一、实验目的
1.了解和掌握状态观测器的基本特点。
2.设计状态完全可观测器。
二、实验要求
设计一个状态观测器。
三、实验设备
1.计算机1台
2.MATLAB6.X软件1套
四、实验原理说明
设系统的模型如式(3-1)示。
(3-1)
系统状态观测器包括全阶观测器和降阶观测器。
设计全阶状态观测器的条件是系统状态完全能观。
全阶状态观测器的方程为:
(3-2)
五、实验步骤
1.在MATLA界面下调试[例3.1]程序,并检查是否运行正确。
[例3.1]:
,
,
(3-3)
首先验证系统是状态完全能观的,设状态观测器的增益阵为Kz=[k1k2]T
根据题义编程:
A=[01;-2-1];
B=[0;1];
C=[10];
D=0;
[num,den]=ss2tf(A,B,C,D,1);%求出原系统特征多相式
denf=[169];%希望的极点的特征多相式
k1=den(:
2)-denf(:
2)%计算k1=d1-a1
k2=den(:
3)-denf(:
3)%计算k2=d2-a2
程序运行结果:
k1=-5k2=-7
所以,状态观测器的增益阵为Kz=[k1k2]T=[-5–7]T。
则状态观测器的方程为
2.实验要求
已知系数阵A、B、和C阵分别如式(3-4)示,设计全阶状态观测器,要求状态观测器的极点为[-1-2-3]上
(3-4)
设计全阶状态观测器,要求状态观测器的极点为[-1-2-3]。
1.对系统式(3.4)所示系统,采用[例3.1]的思路,用MATLAB编程求状态观测器的增益阵Kz=[k1k2k3]T;
2.改变Kz=[k1k2k3]的值,测试
,观察其变化,并与②比较,说明变化规律。
3.要求写出实验报告。