《现代控制理论》实验指导书学生版.docx
《《现代控制理论》实验指导书学生版.docx》由会员分享,可在线阅读,更多相关《《现代控制理论》实验指导书学生版.docx(16页珍藏版)》请在冰豆网上搜索。
《现代控制理论》实验指导书学生版
实验报告要求
1实验预习要求学生认真学习教材中相关MATLAB仿真的内容,运行书中实例(如例1-20至例1-28的程序,相应写成exm1-20.m至exm1-28.m文件)。
认真总结MATLAB相关函数种类及调用格式。
2学生应按照韶关学院学生实验报告册的要求填写实验预习报告内容如实验目的、实验所用主要仪器、实验原理与公式、实验预习数据等项目。
3列写实验报告内容应包含主要实验步骤、实验程序、实验计算数据及实验波形及指导书所要求的实验结果
4实验报告应由学生自己编写,重视体验性过程。
实验采用分散实验的方式进行。
5实验的个性化提示
5.1实验内容中的对象可以也应该不同,可以是教材或指导书的例子或习题等。
5.2实验报告只交电子文档,电子文档按学号姓名做子目录如(张三)在规定时间内交学习委员打包发给老师,无需打印(如学校要求打印则另行通知)。
《现代控制理论》课程考核
闭卷理论考试60%,计算机考试20%,实验报告(10%),平时考勤及作业占课程成绩(10%)。
复习及闭卷考试内容另告。
实验报告每人必做,否则按学校规定不允许参加考试(包括机试和笔试)。
《现代控制理论》课程计算机考试
1机试占课程成绩的20%
2机试内容为实验内容即将书中相关习题用MATLAB完成。
3机试采用统一时间、统一地点(机房)、统一试题的方式进行,每人一台PC机,事先安装好MATLAB软件。
机试时间另定。
《现代控制理论》实验指导书
实验设备
PC计算机1台(要求P4-1.8G以上),MATLAB6.X软件1套。
实验1系统的传递函数阵和状态空间表达式的转换
[实验目的]
1学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;
2通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。
[实验原理]
设系统的模型如式(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=
-2-3-4
100
010
B=
1
0
0
C=
153
D=
0
由于一个系统的状态空间表达式并不唯一,[例1.2]程序运行结果虽然不等于式(1.3)中的A、B、C阵,但该结果与式(1.3)是等效的。
不防对上述结果进行验证。
⑤[例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]完全相同。
[实验要求]
在运行以上[例]和书中例1-20至例1-28程序的基础上,应用MATLAB对(1.5)系统仿照[例1.2]编程,求系统的A、B、C、阵;然后再仿照[例1.3]进行验证。
并写出实验报告。
(1.5)
提示:
num=[0012;0153];
实验2状态空间控制模型系统仿真及状态方程求解
[实验目的]
1、熟悉线性定常离散与连续系统的状态空间控制模型的各种表示方法。
2、熟悉系统模型之间的转换功能。
3、利用MATLAB对线性定常系统进行动态分析
[实验内容]
1、给定系统
(2-1)
2、求系统的零极点增益模型和状态空间模型,并求其单位脉冲响应及单位阶跃响应。
提示
num=[1213];den=[10.521];
sys=tf(num,den);sys1=tf2zp(sys);sys2=tf2ss(sys);
impulse(sys2);step(sys2)
sys=tf(num,den)
sys1=tf2zp(num,den)
单位脉冲响应:
图2.1系统的单位脉冲响应
单位阶跃响应:
图2.2系统的单位阶跃响应
2、已知离散系统状态空间方程:
(2-2)
采样周期
。
在
域和连续域对系统性能进行仿真、分析。
Z域性能仿真图形:
图2.3离散系统的阶跃响应
Samplingtime:
0.05
step(sysc);连续域仿真曲线:
图1.4离散系统转连续系统后的阶跃响应
[实验要求]
1、进行模型间的相互转换。
2、绘出系统单位阶跃及脉冲曲线。
在运行书中例2-15至例2-17程序的基础上,应用MATLAB对(2-1)系统编程,列出实验数据,画出系统的单位脉冲响应曲线和单位阶跃响应曲线;然后对(2-2)进行编程,列出实验数据并画出离散系统的阶跃响应曲线及离散系统转连续系统后的阶跃响应曲线。
并写出实验报告。
实验3能控能观判据及稳定性判据
[实验目的]
1、利用MATLAB分析线性定常及离散系统的可控性与可观性。
2、利用MATLAB进行线性定常及离散系统的李雅普诺夫稳定性判据。
[实验原理]
①设系统的状态空间表达式
(3.1)
系统的能控分析是多变量系统设计的基础,包括能控性的定义和能控性的判别。
系统状态能控性的定义的核心是:
对于线性连续定常系统(3.1),若存在一个分段连续的输入函数U(t),在有限的时间(t1-t0)内,能把任一给定的初态x(t0)转移至预期的终端x(t1),则称此状态是能控的。
若系统所有的状态都是能控的,则称该系统是状态完全能控的。
②系统输出能控性是指输入函数U(t)加入到系统,在有限的时间(t1-t0)内,能把任一给定的初态x(t0)转移至预期的终态输出y(t1)。
能控性判别分为状态能控性判别和输出能控性判别。
状态能控性分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能控性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能控性分为一般判别是应用最广泛的一种判别法。
输出能控性判别式为:
(3.2)
状态能控性判别式为:
(3.3)
系统的能观分析是多变量系统设计的基础,包括能观性的定义和能观性的判别。
系统状态能观性的定义:
对于线性连续定常系统(2.1),如果对t0时刻存在ta,t0,根据[t0,ta]上的y(t)的测量值,能够唯一地确定S系统在t0时刻的任意初始状态x0,则称系统S在t0时刻是状态完全能观测的,或简称系统在[t0,ta]区间上能观测。
状态能观性分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能观性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能观性分为一般判别是应用最广泛的一种判别法。
状态能控性判别式为:
(3.4)
③只要系统的A的特征根实部为负,系统就是状态稳定的。
式(1.2)又可写成:
(3.5)
当状态方程是系统的最小实现时,
,系统的状态渐近稳定与系统的BIBO(有界输入有界输出)稳定等价;
当
时,若系统状态渐近稳定则系统一定是的BIBO稳定的。
[实验内容]
1、已知系统状态空间方程:
(1)
(2)
(3)
对系统进行可控性、可观性分析。
以第一题为例:
(1)a=[-1-22;0-11;10-1]
a=-1-22
0-11
10-1
>>b=[201]'
b=2
0
1
>>c=[120]
c=
120
>>Qc=ctrb(a,b)
Qc=200
010
11-1
rank(Qc)
ans=3,系统满秩,故系统能控。
rank(obsv(a,c))
ans=3,系统满秩,故系统能观。
(2)、(3)两题计算方法相同。
2、已知系统状态空间方程描述如下:
,
,
试判定其稳定性,并绘制出时间响应曲线来验证上述判断。
A=[-10-35-50-24;1000;0100;0010];
B=[1;0;0;0];C=[172424];D=[0];
[z,p,k]=ss2zp(A,B,C,D,1);
Flagz=0;
n=length(A);
fori=1:
n
ifreal(p(i))>0
Flagz=1;
end
end
disp('系统的零极点模型为');z,p,k
系统的零极点模型为
z=
-2.7306+2.8531i
-2.7306-2.8531i
-1.5388
p=
-4.0000
-3.0000
-2.0000
-1.0000
k=
1.0000
ifFlagz==1
disp('系统不稳定');
elsedisp('系统是稳定的');
end
运行结果为:
系统是稳定的
step(A,B,C,D);
图2.1系统的阶跃响应
[实验要求]
1、判断系统的可控性,求解系统的变换矩阵Qc。
2、判断系统可观测性,求解系统的变换矩阵Qo。
3、判断系统稳定性,绘制时间响应曲线。
实验4状态反馈及状态观测器的设计
[实验目的]
1、熟悉状态反馈矩阵的求法。
2、熟悉状态观测器设计方法。
[实验原理]
设系统的模型如式(4.1)示。
(4.1)
系统状态观测器包括全阶观测器和降阶观测器。
设计全阶状态观测器的条件是系统状态完全能观。
全阶状态观测器的方程为:
(4.2)
[实验内容]
1、某控制系统的状态方程描述如下:
通过状态反馈使系统的闭环极点配置在P=[-30,-1.2,-2.4
4i]位置上,求出状态反馈阵K,并绘制出配置后系统的时间响应曲线。
2、考虑下面的状态方程模型:
要求选出合适的参数状态观测器(设观测器极点为op=[-100;-102;-103])。
程序如下:
A=[010;9800-2.8;00-100];
B=[0;0;100];
C=[100];
D=[0];
op=[-100;-102;-103];
sysold=ss(A,B,C,D);
disp('原系统的闭还极点为');
p=eig(A)
n=length(A);
Q=zeros(n);
Q(1,:
)=C;
fori=2:
n
Q(i,:
)=Q(i-1,:
)*A;
end
m=rank(Q);
ifm==n
H=place(A',C',op')';
else
disp('系统不是状态完全可观测')
end
disp('状态观测器模型');
est=estim(sysold,H);
disp('配置后观测器的极点为');p=eig(est)
运行结果:
原系统的闭还极点为
p=
31.3050
-31.3050
-100.0000
状态观测器模型
配置后观测器的极点为
p=
-103.0000
-102.0000
-100.0000
[实验要求]
1、求出系统的状态空间模型;
2、依据系统动态性能的要求,确定所希望的闭环极点P;
3、利用上面的极点配置算法求系统的状态反馈矩阵K;
4、检验配置后的系统性能。