现代控制实验报告.docx
《现代控制实验报告.docx》由会员分享,可在线阅读,更多相关《现代控制实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
现代控制实验报告
实验1
代码:
>>num=[0012;0153];
>>den=[1234];
>>[A,B,C,D]=tf2ss[num,den]
>>[A,B,C,D]=tf2ss(num,den)
运行结果:
A=
-2-3-4
100
010
B=
1
0
0
C=
012
153
D=
0
0
实验2
代码:
A=[01;-10];
x=[1;0];
B=[0;0];
C=[00];
D=[0];
[y,x,t]=initial(A,B,C,D,x);
subplot(2,1,1),plot(t,x(:
1))
subplot(2,1,2),plot(t,x(:
2))
运行结果:
A=[01;-10];
x=[0;1];
B=[0;0];
C=[00];
D=[0];
[y,x,t]=initial(A,B,C,D,x);
subplot(2,1,1),plot(t,x(:
1))
subplot(2,1,2),plot(t,x(:
2))
A=[01;-10];
x=[0;1];
B=[0;0];
C=[00];
D=[0];
[y,x,t]=initial(A,B,C,D,x);
>>plot(t,x(:
1),t,x(:
2))
>>grid
>>title('shiyan2')
>>xlabel('time(sec)')
>>ylabel('x1,x2')
实验3
代码:
>>A=[-1,0;0-2];
B=[0;1];
[G,H]=c2d(A,B,T)
运行结果(T=1):
G=
0.36790
00.1353
H=
0
0.4323
运行结果(T=0.1):
G=
0.90480
00.8187
H=
0
0.0906
运行结果(T=0.25):
G=
0.77880
00.6065
H=
0
0.1967
运行结果(T=0.5):
G=
0.60650
00.3679
H=
0
0.3161
运行结果(T=0.75):
G=
0.47240
00.2231
H=
0
0.3884
运行结果(T=2):
G=
0.13530
00.0183
H=
0
0.4908
运行结果(T=5):
G=
0.00670
00.0000
H=
0
0.5000
运行结果(T=10):
G=
1.0e-004*
0.45400
00.0000
H=
0
0.5000
实验4.4
代码:
A=[01;-3-4];
B=[0;1];
J=[-4-5];
K=acker(A,B,J);
结果:
JIDIAN_NEW=
-4.0000
-5.0000
K=
175
试验4.5
代码:
A=[01;-3-4];
B=[0;1];
J=[-4-5];
K=acker(A,B,J);
sys=ss(A-B*K,[0;0],eye
(2),0);
t=0:
0.01:
4;
x=initial(sys,[1;0],t);
x1=[10]*x';
x2=[01]*x';
subplot(2,1,1);plot(t,x1),gridon
title('ResponsetoInitialCondition')
ylabel('x1')
subplot(2,1,2);plot(t,x2),gridon
ylabel('x2')
%%subplot(3,1,3);plot(t,x3),gridon
xlabel('t(sec)')
%%ylabel('x3')
JIDIAN_NEW=eig(A-B*K);
结果:
实验5.4
代码:
a=[010;001;1.2440.3965-3.145];
b=[0;0;1.244];
c=[100];
v=[-5+j*5*sqrt(3)-5-j*5*sqrt(3)-10];
l=(acker(a',c',v'))'
结果:
l=
16.8550
147.3875
544.3932
实验5.2
代码:
Aaa=[0];
Aab=[10];
Aba=[0;1.244];
Abb=[01;0.3965-3.145];
Ba=[0];
Bb=[0;1.244];
v=[-5+j*5*sqrt(3)-5-j*5*sqrt(3)];
l=(acker(Abb',Aab',v'))'
Ahat=Abb-l*Aab
Bhat=Ahat*l+Aba-l*Aaa
Fhat=Bb-l*Ba
结果:
l=
6.8550
78.8375
Ahat=
-6.85501.0000
-78.4410-3.1450
Bhat=
31.8465
-784.4132
Fhat=
0
1.2440
实验5.5
代码:
num=[004];
den=[120];
[A,B,C,D]=tf2ss(num,den)
结果:
A=
-20
10
B=
1
0
C=
04
D=
0
代码:
A=[-20;10];
B=[1;0];
C=[04];
D=0
J=[-2+j*2*sqrt(3)-2-j*2*sqrt(3)];
K=acker(A,B,J)
结果:
K=
2.000016.0000
代码:
A=[-20;10];
B=[1;0];
C=[04];
D=0;
V=[-8-8];
L=(acker(A',C',V))'
结果:
L=
9.0000
3.5000
代码:
A=[-20;10];
B=[1;0];
C=[04];
D=0;
x0=[1;0];
[y,x,t]=initial(A,B,C,D,x0)
plot(t,x(:
1),t,x(:
2))
Grid
结果:
代码:
A=[-20;10];
B=[1;0];
C=[04];
D=0;
K=[216];
x0=[1;0];
[y,x,t]=initial(A-B*K,B,C,D,x0)
plot(t,x(:
1),t,x(:
2))
grid
结果:
代码:
A=[-20;10];
C=[04];
L=[9;3.5];
B=[0;0];
D=[0;0];
e0=[1;0];
[y,e,t]=initial(A-L*C,B,eye
(2),D,e0)
plot(t,e(:
1),t,e(:
2))
grid
结果: