现代控制理论实验指导书Word格式.docx
《现代控制理论实验指导书Word格式.docx》由会员分享,可在线阅读,更多相关《现代控制理论实验指导书Word格式.docx(14页珍藏版)》请在冰点文库上搜索。
PC计算机1台(要求P4-1.8G以上),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、多变量系统状态空间表达式的建立方法
2、系统状态空间表达式与传递函数相互转换的方法。
六、实验步骤
1、在MATLAB中输入以下例子,并验证输出结果。
[例1.1]已知两输入两输出系统状态空间模型
试建立MATLAB模型,并进行模型转换。
%输入系统模型
》A=[16910;
31268;
47911;
5121314]
》B=[46;
24;
22;
10]
》C=[0021;
8022]
》D=zeros(2,2)
%转换为传递函数模型
%iu用来指定第n个输入,当只有一个输入时可忽略。
》[num,den]=ss2tf(A,B,C,D,iu)
%转换为零极点模型
》[z,p,k]=ss2zp(A,B,C,D,iu)
[例1.2]已知系统状态空间描述为
试建立MATLAB模型,设线性变换矩阵为
,求系统线性变换后的模型。
%输入系统模型
》A=[01;
-5-6]
》B=[0;
1]
》C=[10]
》D=0
%输入线性变换阵
Q=[1.250.25;
-0.25-0.25]
%线性转换
》[Aq,Bq,Cq,Dq]=ss2ss(A,B,C,D,Q)
%直接化为对角标准形
》[At,Bt,Ct,Dt]=canon(A,B,C,D)
[例1.3]已知系统系数矩阵为
将其变化为约当标准型。
》a=[41-2;
102;
1-13]
%化为约当标准形
》[Q,J]=jordan(A)
运行结果为
Q=
0-4-2
-2-42
-1-42
J=
100
031
003
其中Q为变换矩阵,J为转化成约当标准型的系数矩阵
2、在运行以上例程序的基础上,试建立下列系统的MATLAB传递函数模型,并转换为状态空间模型。
再将求出状态空间模型转换传递函数模型进行验证。
七、实验报告要求
在实验报告纸上写出实验程序和结果
八、实验注意事项
在实验前要预习,了解MATLAB软件的基本使用方法。
九、思考题
如何用MATLAB工具将系统传递函数模型转换为能控标准型状态空间表达式?
实验二多变量系统的能控、能观和稳定性分析
一、实验目的和任务
1、学习多变量系统状态能控性及稳定性分析的定义及判别方法
2、学习多变量系统状态能观性及稳定性分析的定义及判别方法。
3、通过用MATLAB编程、上机调试,掌握多变量系统能控性及稳定性判别方法。
在运行示例程序的基础上,应用MATLAB对所给系统能控性和稳定性进行编程判断。
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<
ta<
,根据[t0,ta]上的y(t)的测量值,能够唯一地确定S系统在t0时刻的任意初始状态x0,则称系统S在t0时刻是状态完全能观测的,或简称系统在[t0,ta]区间上能观测。
状态能观性分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能观性判别时不用计算,应用公式直接判断,是一种直接简易法;
前者状态能观性分为一般判别是应用最广泛的一种判别法。
(2.4)
3、如果系统是线性系统,可以采用两种方法:
(1)只要系统的A的特征根实部为负,系统就是状态稳定的。
(2)采用利用李雅普诺夫方程来判断稳定性
多变量系统状态能控性、能观性及稳定性分析的判别方法
1、学习以下例子
[例2.1]:
已知系数阵A和输入阵B分别如下,判断系统的状态能控性
,
程序:
A=[6.6667,-10.6667,-0.3333;
1.0000,0,1;
0,1.0000,2];
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,所以系统是状态能控性的。
也可采用ctrb函数来求状态空间系统的能控性矩阵。
A=[6.6667-10.6667-0.3333
1.000001
01.00002];
Qc=ctrb(A,B)
Q=rank(Qc)
[例2.2]:
已知系数阵A和输入阵C分别如下,判断系统的状态能观性。
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)可知,系统是状态完全能观性的。
也可采用ctrb和obsv函数来求状态空间系统的能观性矩阵。
Qo=obsv(A,C)
Q=rank(Qo)
[例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
由于系统的零、极点均具有负的实部,则系统是状态渐近稳定的
[例2.4]利用MATLAB判断系统
是否为大范围渐近稳定:
>
A=[-11;
2-3];
%输入系数矩阵
A=A'
;
%将系数矩阵A转置,注意要用lyap函数求解李雅普诺夫方程时,
%应该先将
矩阵转置后再代入lyap函数。
Q=eye
(2)%给定正定实对称矩阵Q为二阶单位阵
P=lyap(A,Q)%求式(4-19)所示的李雅普诺夫方程
结果为
P=
1.75000.6250
0.62500.3750
需判断P是否为对称正定阵。
由赛尔维斯特判据,判断主子行列式是否都大于零。
det(P(1,1))%求P阵的一阶主子行列式
ans=
1.7500
det(P)%求P阵的二阶主子行列式
0.2656
由此可知,P为对称正定阵。
因此系统在原点处是大范围渐近稳定的。
2、在运行以上例程序的基础上,编程判别下面系统的能控性、能观性和稳定性。
提示:
从B阵看,输人维数m=2,Qc的维数为n×
(m×
n)=3×
6,而Q=rank(Qc)语句要求Qc是方阵,所以先令
,然后Q=rank(R)。
要求调试自编程序,写出调试步骤和结果。
在实验前要预习,了解多变量系统状态能控性及稳定性分析的定义及判别方法。
已知单位反馈系统开环传递函数为
判断该闭环系统的稳定性
实验三状态反馈和状态观测器的设计
1、掌握用极点配置的方法
2、掌握状态观测器设计方法
3、学会使用MATLAB工具进行初步的控制系统设计
在运行示例程序的基础上,进行极点配置和设计全阶状态观测器。
1、设系统的模型如式(3.1)示。
(3.1)
若系统可控,则必可用状态反馈的方法进行极点配置来改变系统性能。
引入状态反馈后系统模型如式(3.2)所示。
(3.2)
2、如系统(3.1)可观,则系统存在状态观测器
(3.3)
1、状态反馈增益阵的求取。
2、状态观测器的设计方法
1、[例3.1]:
给定系统的状态空间表达式为
(1)求状态反馈增益阵K,使反馈后闭环特征值为
。
(2)检验引入状态反馈后的特征值与希望极点是否一致。
(3)比较状态反馈前后的系统阶跃响应。
A=[000;
1-10;
01-1];
%输入系统模型
0;
0];
C=[011];
Qc=ctrb(A,B)%求能控性矩阵
rank(Qc)%求能控性矩阵的秩
p=[-2,-1+sqrt(3)*i,-1-sqrt(3)*i]%输入状态反馈后极点
k=acker(A,B,p)%求状态反馈增益阵K
eig(A-B*k)%求引入状态反馈后特征值
step(A,B,C,D)%求状态反馈前的阶跃响应
step(A-B*k,B,C,D)%求状态反馈后的阶跃响应
2、[例3.2]:
试用MATLAB求给定系统
(1)具有特征值为-3,-4,-5的全维状态观测器
(2)检验全维状态观测器的特征值与希望特征值是否一致。
A=[100;
021;
102];
0;
1];
C=[110];
%输入系统状态空间表达式
Qo=obsv(A,C)%求能观测矩阵
rank(Qo)%求能观测矩阵的秩
P=[-3-4-5]%输入期望特征值
G=acker(A'
C'
P)'
%求状态观测器反馈阵G
Ao=A-G*C%求观测器的系数矩阵
eig(Ao)%检验观测器特征值
3、仿照[例3.1]、[例3.2],求取下列系统
(3.4)
(1)求状态反馈增益阵K,使反馈后闭环特征值为[-1-2-3]。
(4)设计全阶状态观测器,要求状态观测器的极点为[-5-6-7]。
(5)检验全维状态观测器的特征值与希望特征值是否一致.
1、按实验步骤调试程序,写出调试步骤和结果。
2、分析实验结果
在实验前要预习,需要熟悉相关命令
如果系统采用全维状态观测器来进行状态反馈该如何设计?
主要参考文献
[1]《现代控制理论基础》王孝武机械工业出版社2001年
[2]现代控制系统综合与设计,肖建编,中国铁道出版社,2000年
[3]现代控制理论基础,谢克明,北京工业大学出版社,2003年
[4]现代控制理论,李斌,重庆大学出版社,2003年