现代控制理论实验报告Word文档格式.docx
《现代控制理论实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《现代控制理论实验报告Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
![现代控制理论实验报告Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/32fc775c-8845-445a-857d-60c1962ded0f/32fc775c-8845-445a-857d-60c1962ded0f1.gif)
实验二:
1、函数initial(A,B,C,D,x0)可以得到系统输出对初始状态x0的时间响应;
2、函数step(A,B,C,D)给出了系统的单位阶跃响应曲线;
3、函数impulse(A,B,C,D)给出了系统的单位脉冲响应曲线;
4、函数[y,T,x]=lsim(sys,u,t,x0)给出了一个状态空间模型对任意输入u的响应,其中的sys表示贮存在计算机内的状态空间模型,它可以由函数sys=ss(A,B,C,D)
得到,x0是初始状态
实验三:
MATLAB提供了计算离散化状态空间模型中状态
矩阵和输入矩阵的函数:
[G,H]=c2d(A,B,T)
其中的T是离散化模型的采样周期。
实验四:
MATLAB软件提供了两个函数acker和place来确定极点配置状态反馈控制器的增益矩阵K。
函数acker是基于求解极点配置问题的爱克曼公式,它只能应用到单输入系统,要配置的闭环极点中可以包括多重极点。
函数acker和place的一般形式是:
K=acker(A,B,J)
K=place(A,B,J)
其中的J是一个向量,
,
是n个期望的闭环极点。
得到了所要求的反馈增益矩阵后,可以用命令eig(A-B*K)来检验闭环极点。
实验五:
应用MATLAB中极点配置的函数来确定所需要的观测器增益矩阵。
例如,对于单输入单输出系统,观测器的增益矩阵可以由函数
L=(acker(A’,C’,V))’
得到。
其中的V是由期望的观测器极点所构成的向量。
类似的,也可以用
L=(place(A’,C’,V))’
来确定一般系统的观测器矩阵,但这里要求V不包含相同的极点。
对于降阶观测器的设计,使用MATLAB软件中的函数
L=(acker(Abb’,Aab’,V))’或L=(place(Abb’,Aab’,V))’
可以得到观测器的增益矩阵L。
其中的V是由降阶观测器的期望极点所组成的向量。
三、仪器设备
PC计算机1台(要求P4-1.8G以上),MATLAB6.X或MATLAB7.X软件1套。
四、线路示图
五、内容步骤
1、根据所给系统的传递函数或(A、B、C、D),依据系统的传递函数阵和状态空间模型之间的关系,采用MATLAB的相关函数编写m-文件。
2、求取系统的状态和输出响应;
3、在MATLA界面下调试程序,并检查是否运行正确。
六、数据处理
实验一
程序代码:
num=[0012;
0153]
den=[1234]
[A,B,C,D]=tf2ss(num,den)
结果:
A=
-2-3-4
100
010
B=
1
0
C=
012
153
D=
实验二
A=[01;
-10];
B=[0;
0];
D=B;
C=[10;
01];
x0=[0;
1];
[y,x,t]=initial(A,B,C,D,x0);
plot(t,x(:
1),t,x(:
2))
grid
title('
ResponsetoInitialCondition'
)
xlabel('
Time(sec)'
ylabel('
x1,x2'
text(0.55,1.15,'
x1'
text(0.4,-2.9,'
x2'
symst;
F=expm(A*t)
F=
[cos(t),sin(t)]
[-sin(t),cos(t)]
实验三
A=[-10;
0-2];
B=[1;
[G,H]=c2d(A,B,1)
G=
0.36790
00.1353
H=
0.6321
[G,H]=c2d(A,B,0.5)
0.60650
00.3679
0.3935
实验四
4.1
A=[010;
001;
-1-5-6];
0;
J=[-2+j*4-2-j*4-10];
sys=ss(A-B*K,[0;
0],eye(3),0);
t=0:
0.01:
4;
x=initial(sys,[1;
0],t);
x1=[100]*x'
;
x2=[010]*x'
x3=[001]*x'
subplot(3,1,1);
plot(t,x1),grid
subplot(3,1,2);
plot(t,x2),grid
subplot(3,1,3);
plot(t,x3),grid
t(sec)'
x3'
4.5
-3-4];
C=[32];
D=[0];
J=[-4-5];
x0=[1;
0],eye
(2),0);
x1=[10]*x'
x2=[01]*x'
实验五
5.1
a=[010;
1.2440.3965-3.145];
b=[0;
1.244];
c=[100];
v=[-5+j*5*sqrt(3)-5-j*5*sqrt(3)-10];
l=(acker(a'
c'
v))'
Warning:
Polelocationsaremorethan10%inerror.
l=
16.8550
147.3875
544.3932
5.2
Aaa=[0];
Aab=[10];
Aba=[0;
Abb=[01;
0.3965-3.145];
Ba=[0];
Bb=[0;
v=[-5+j*5*sqrt(3)-5-j*5*sqrt(3)];
l=(acker(Abb'
Aab'
Ahat=Abb-l*Aab
Bhat=Ahat*l+Aba-l*Aaa
Fhat=Bb-l*Ba
6.8550
78.8375
Ahat=
-6.85501.0000
-78.4410-3.1450
Bhat=
31.8465
-784.4132
Fhat=
1.2440
5.5
num=4;
den=[120];
[A,B,C,D]=tf2ss(num,den);
J=[-2+j*2*sqrt(3)-2-j*2*sqrt(3)];
K=acker(A,B,J);
V=[-8-8];
L=(acker(A'
C'
V))'
A0=[A-B*KB*K;
zeros(2,2)A-L*C];
sys=ss(A0,eye(4),eye(4),eye(4));
5;
1;
x1=[1000]*x'
x2=[0100]*x'
e1=[0010]*x'
e2=[0001]*x'
figure
(1)
subplot(2,1,1);
Responsetoinitialcondition'
subplot(2,1,2);
figure
(2)
plot(t,e1),grid
e1'
plot(t,e2),grid
e2'
L=
9.0000
3.5000
七、分析讨论
通过本次试验,我学习了系统状态空间模型的建立方法、了解了状态空间模型与传递函数相互转换的方法,通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。
同时我学会了根据状态空间模型分析系统由初始状态和外部激励所引起的响应,通过编程、上机调试,掌握系统运动的分析方法。
掌握了建立基于对象的一个连续时间状态空间模型,并导出其相应的离散化状态空间模型,并通过编程、上机调试,掌握离散系统运动分析方法。
配置极点后,系统的稳态性能变好了,但是稳态误差变大了。
为了消除几点配置对稳态性能的负面影响,对于一个n维系统,必须制定n个实极点或共轭复极点,在确定极点位置的时候,要充分考虑他们对于系统性能的主导影响及其余系统零点分布状况关系,还要兼顾系统抗干扰能力和对参数飘逸低敏感性的要求。
通过实验五我学习掌握了观测器设计计算方法,通过编程上机调试,掌握了全阶观测器的输出反馈控制系统设计方法。