现代控制理论实验.docx
- 文档编号:25760200
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:23
- 大小:262.20KB
现代控制理论实验.docx
《现代控制理论实验.docx》由会员分享,可在线阅读,更多相关《现代控制理论实验.docx(23页珍藏版)》请在冰豆网上搜索。
现代控制理论实验
现代控制理论实验报告
2010年12月31日
实验一
题1.1已知SISO系统的传递函数为
(1)将其输入到MATLAB工作空间;
(2)获得系统的状态空间模型。
(1)
>>num=[1,5,8];
den=[1,2,6,3,9];
G=tf(num,den)
Transferfunction:
s^2+5s+8
-----------------------------
s^4+2s^3+6s^2+3s+9
(2)
>>num=[1,5,8];
den=[1,2,6,3,9];
G=tf(num,den);
G1=ss(G)
a=
x1x2x3x4
x1-2-1.5-0.375-1.125
x24000
x30200
x40010
b=
u1
x11
x20
x30
x40
c=
x1x2x3x4
y100.250.6251
d=
u1
y10
Continuous-timemodel.
题1.2 已知SISO系统的状态空间表达式为
,
(1)将其输入到MATLAB工作空间;
(2)求系统的传递函数。
(1)A=[0,1,0;0,0,1;-4,-3,-2];
B=[1;3;6];
C=[1,0,0];
D=zeros(1,1);
G=ss(A,B,C,D)
a=
x1x2x3
x1010
x2001
x3-4-3-2
b=
u1
x11
x23
x36
c=
x1x2x3
y1100
d=
u1
y10
Continuous-timemodel.
(2)A=[0,1,0;0,0,1;-4,-3,-2];
B=[1;3;6];
C=[1,0,0];
D=zeros(1,1);
G=ss(A,B,C,D);
G1=tf(G)
Transferfunction:
s^2+5s+15
---------------------
s^3+2s^2+3s+4
实验二
题2.1已知SISO系统的状态方程为
(1)
,
,求当t=0.5时系统的矩阵系数及状态响应;
(2)
,
,绘制系统的状态响应及输出响应曲线;
(3)
,
,绘制系统的状态响应及输出响应曲线;
(4)
,
,绘制系统的状态响应及输出响应曲线;
(5)在余弦输入信号和初始状态
下的状态响应曲线。
(1)
A=[0,1;-2,-3];
expm(A*0.5)
ans=
0.84520.2387
-0.47730.1292
A=[0,1;-2,-3];
eAt=expm(A*0.5);
x0=[1;-1];
xt=eAt*x0
xt=
0.6065
-0.6065
(2)A=[0,1;-2,-3];
B=[3;0];
C=[1,1];
D=zeros(1,1);
G=ss(A,B,C,D);
[y,t,x]=step(G);
subplot(1,2,1);
plot(t,x);
title('状态响应曲线');
subplot(1,2,2)
plot(t,y);
title('输出响应曲线')
(3)A=[0,1;-2,-3];
B=[3;0];
C=[1,1];
D=zeros(1,1);
t=[0:
.04:
4];
u=1+exp(-t).*cos(3*t);
G=ss(A,B,C,D);
[y,t,x]=lsim(G,u,t);
subplot(1,2,1);
plot(t,x);
title('状态响应曲线');
subplot(1,2,2)
plot(t,y);
title('输出响应曲线')
(4)A=[0,1;-2,-3];
B=[3;0];
C=[1,1];
D=zeros(1,1);
t=[0:
.01:
4];
u=0;
G=ss(A,B,C,D);
x0=[1;2];
[y,t,x]=initial(G,x0,t);
subplot(1,2,1);
plot(t,x);
title('状态响应曲线');
subplot(1,2,2)
plot(t,y);
title('输出响应曲线')
(5)A=[0,1;-2,-3];
B=[3;0];
C=[1,1];
D=zeros(1,1);
t=[0:
.01:
4];
u=cos(t);
G=ss(A,B,C,D);
x0=[1;1];
[y,t,x]=lsim(G,u,t);
plot(t,x);
title('状态响应曲线')
题2.2已知一个连续系统的状态方程是
若取采样周期
秒
(1)试求相应的离散化状态空间模型;
(2)分析不同采样周期下,离散化状态空间模型的结果。
(1)A=[0,1;-25,-4];
B=[0;1];
[G,H]=c2d(A,B,0.05)
G=
0.97090.0448
-1.12120.7915
H=
0.0012
1.0448
(2)A=[0,1;-25,-4];
B=[0;1];
[G,H]=c2d(A,B,0.1)
G=
0.89230.0790
-1.97590.5762
H=
0.0043
1.0790
实验三
题3.1 已知系数阵A和输入阵B分别如下,判断系统的状态能控性
,
A=[6.666,-10.6667,-0.3333;1,0,1;0,1,2];
B=[0;1;1];
Uc=[B,A*B,A^2*B];
rank(Uc)
ans=
3
所以,能控
题3.2 已知系数阵A和输出阵C分别如下,判断系统的状态能观性。
,
A=[6.666,-10.6667,-0.3333;1,0,1;0,1,2];
C=[1,0,2];
Uo=[C;C*A;C*A^2];
rank(Uo)
ans=
3
所以,能观
题3.3 已知系统状态空间描述如下
(1)判断系统的状态能控性;
(2)判断系统的状态能观测性;
(3)构造变换阵,将其变换成能控标准形;
(4)构造变换阵,将其变换成能观测标准形;
(1)A=[0,2,-1;5,1,2;-2,0,0];
B=[1;0;-1];
C=[1,1,0];
Uc=[B,A*B,A^2*B];
rank(Uc)
ans=
3
所以,能控
(2)A=[0,2,-1;5,1,2;-2,0,0];
B=[1;0;-1];
C=[1,1,0];
Uo=[C;C*A;C*A^2];
rank(Uo)
ans=
3
所以,能观
(3)
A=[0,2,-1;5,1,2;-2,0,0];
B=[1;0;-1];
C=[1,1,0];
D=[0];
Uc=[B,A*B,A^2*B];
U=inv(Uc);
p1=[0,0,1]*U;
p=[p1;p1*A;p1*A^2];
p2=inv(p);
Ac=p*A*p2;
Bc=p*B;
Cc=C*p2;
G=ss(Ac,Bc,Cc,D)
a=
x1x2x3
x1010
x202.22e-0161
x3-10121
b=
u1
x10
x20
x31
c=
x1x2x3
y1-431
d=
u1
y10
Continuous-timemodel.
(4)
A=[0,2,-1;5,1,2;-2,0,0];
B=[1;0;-1];
C=[1,1,0];
D=[0];
Uo=[C;C*A;C*A^2];
U=inv(Uo);
T1=U*[0;0;1];
T=[T1,A*T1,A^2*T1];
T2=inv(T);
Ao=T2*A*T;
Bo=T2*B;
Co=C*T;
G=ss(Ao,Bo,Co,D)
a=
x1x2x3
x100-10
x21012
x3011
b=
u1
x1-4
x23
x31
c=
x1x2x3
y1001
d=
u1
y10
Continuous-timemodel.
实验四
题4.1 某系统状态空间描述如下
(1)利用李雅普诺夫第一方法判断其稳定性;
(2)利用李雅普诺夫第二方法判断其稳定性。
(1)
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('Systemzero-points,pole-pointsandgainare:
');
z
p
k
n=length(A);
fori=1:
n
ifreal(p(i))>0
flag=1;
end
end
ifflag==1
disp('Systemisunstable');
else
disp('Systemisstable');
end
Systemzero-points,pole-pointsandgainare:
z=
1.0000
-4.0000
p=
-3.3978
3.5745
0.8234
k=
1
Systemisunstable
(2)
A=[0,2,-1;5,1,2;-2,0,0];
Q=eye(3,3);
P=lyap(A,Q);
flag=0;
n=length(A);
fori=1:
n
det(P(1:
i,1:
i))
if(det(P(1:
i,1:
i))<=0)
flag=1;
end
end
ifflag==1
disp('Systemisunstable');
else
disp('Systemisstable');
end
ans=
-2.1250
ans=
-8.7813
ans=
6.1719
Systemisunstable
实验五
题5.1 某系统状态方程如下
理想闭环系统的极点为
,试
(1)采用直接计算法进行闭环系统极点配置;
(2)采用Ackermann公式计算法进行闭环系统极点配置;
(3)采用调用place函数法进行闭环系统极点配置。
(1)A=[0,1,0;0,0,1;-4,-3,-2];
B=[1;3;-6];
C=[1,1,0];
P=[-1,-2,-3];
symsk1k2k3s;
K=[k1k2k3];
eg=Simple(det(s*diag(diag(ones((size(A)))))-A+B*K))
f=1;
fori=1:
3
f=Simple(f*(s-P(i)));
end
f=f-eg;
[k1k2k3]=solve(jacobian(f,'s'),subs(f,'s',0),subs(f,'s',0))
eg=
s^3+(2-6*k3+3*k2+k1)*s^2+(3-13*k3+5*k1)*s+4+3*k1-4*k2-12*k3
k1=
2*(11*s+8+30*s*k3+13*k3)/(13*s+10)
k2=
1/2*(20*s+14+12*s*k3-21*k3)/(13*s+10)
k3=
s
(2)A=[0,1,0;0,0,1;-4,-3,-2];
B=[1;3;-6];
C=[1,1,0];
P=[-1,-2,-3];
K=acker(A,B,P)
Ac=A-B*K
eig(Ac)
K=
1.48090.7481-0.0458
Ac=
-1.48090.25190.0458
-4.4427-2.24431.1374
4.88551.4885-2.2748
ans=
-3.0000
-2.0000
-1.0000
(3)
A=[0,1,0;0,0,1;-4,-3,-2];
B=[1;3;-6];
C=[1,1,0];
eig(A)'
P=[-1,-2,-3];
K=place(A,B,P)
eig(A-B*K)'
ans=
-1.6506-0.1747-1.5469i-0.1747+1.5469i
K=
1.48090.7481-0.0458
ans=
-3.0000-2.0000-1.0000
题5.2 某系统状态空间描述如下
设计全维状态观测器,要求状态观测器的极点为
。
1、A=[0,1,0;0,0,1;-4,-3,-2];
B=[1;3;-6];
C=[1,1,0];
n=3;
ob=obsv(A,C);
roam=rank(ob);
ifroam==n
disp('Systemisobserbable')
elseifroam~=n
disp('Systemisnoobserbable')
end
Systemisobserbable
2、%输入系统状态方程
A=[0,1,0;0,0,1;-4,-3,-2];
B=[1;3;-6];
C=[1,1,0];
%求解反馈增益阵
P=[-1,-2,-3];
a1=A';
b1=C';
c1=B';
K=acker(a1,b1,c1);
%求解系统矩阵
h=(K)'
ahc=A-h*C
h=
-19
19
-43
ahc=
19200
-19-191
3940-2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 控制 理论 实验