本文關鍵詞:現代控制理論,由筆耕文化傳播整理發(fā)布。
現代控制理論習題解答與Matlab程序示例
現代控制理論 第三版 課后習題參考解答:
下面給出部分書后習題的Matlab方法求解:

第一章 狀態(tài)空間表達式1 傳遞函數轉為狀態(tài)空間表達式和約旦標準型num=[10,-10];
den=[1,4,3,0];
w=tf(num,den);
se=ss(w)
[T,J]=jordan(A)
對應習題1-6
2 狀態(tài)空間表達式轉為傳遞函數A=[0,1,0;-2,-3,0;-1,1,-3];
B=[0;1;2];
C=[0,0,1];
D=0;
se=ss(A,B,C,D);
w=tf(se)
對應習題1-7
第二章 狀態(tài)空間表達式的解A=[0,1;0,0];
B=[0;1];
C=[1,0];
D=0;
se=ss(A,B,C,D);
[y,t,x]=step(se);
figure(1);
plot(t,x);
figure(2);
plot(t,y);
對應習題2-6
第三章 能控性和能觀性1 能控性和能觀性判定A=[-3,1;1,-3];
B=[1,1;1,1];
C=[1,1;1,-1];
M=[B,A*B];
N=[C;C*A];
n=length(A);
rank(M)
if rank(M)==n
disp('系統可控')
else
disp('系統不可控')
end
rank(N)
if rank(N)==n
disp('系統可觀')
else
disp('系統不可觀')
end
[T,J]=jordan(A);
T'*B
C*T
對應習題3-2
2 能控標準型A=[1 -2;3 4];
B=[1;1];
C=[0 0];
D=0;
G=ss(A,B,C,D);
M=[B,A*B];
n=length(A);
rank(M)
if rank(M)==n
disp('系統可控')
else
disp('系統不可控')
end
Qc=ctrb(A,B);
Cm=[0 1]*inv(Qc);
Cm2=inv([Cm;Cm*A]);
sysc=ss2ss(G,inv(Cm2))
對應習題3-7
3 能觀標準型A=[1,-1;1,1];
B=[2;1];
C=[-1 1];
D=0;
G=ss(A,B,C,D);
M=[B,A*B];
N=[C;C*A];
n=length(A);
rank(M)
if rank(M)==n
disp('系統可控')
else
disp('系統不可控')
end
rank(N)
if rank(N)==n
disp('系統可觀')
else
disp('系統不可觀')
end
Qc=ctrb(A,B);
Cm=[0 1]*inv(Qc);
Cm2=inv([Cm;Cm*A]);
sysc=ss2ss(G,inv(Cm2))
Qo=obsv(A,C);
Om=inv(Qo)*[0;1];
Om2=[Om A*Om];
syso=ss2ss(G,inv(Om2))
對應習題3-8
4 傳遞函數轉能控或能觀標準型num=[1,6,8];
den=[1,4,3];
[A,B,C,D]=tf2ss(num,den);
G=ss(A,B,C,D);
M=[B,A*B];
N=[C;C*A];
n=length(A);
rank(M)
if rank(M)==n
disp('系統可控')
else
disp('系統不可控')
end
rank(N)
if rank(N)==n
disp('系統可觀')
else
disp('系統不可觀')
end
Qc=ctrb(A,B);
Cm=[0 1]*inv(Qc);
Cm2=inv([Cm;Cm*A]);
sysc=ss2ss(G,inv(Cm2))
Qo=obsv(A,C);
Om=inv(Qo)*[0;1];
Om2=[Om A*Om];
syso=ss2ss(G,inv(Om2))
對應習題3-9
第四章 李雅普諾夫方法和穩(wěn)定性1 李雅普諾夫定理第一方法A=[-3 -6 -2 -1;1 0 0 0;0 1 0 0;0 0 1 0];
B=[1;0;0;0];
C=[0 0 1 1];
D=[0];
flag=0;
[z,p,k]=ss2zp(A,B,C,D,1);
disp('系統零點,極點和增益為:');
z
p
k
n=length(A);
for i=1:n
if real(p(i))>0
flag=1;
end
end
if flag==1
disp('系統不穩(wěn)定');
else
disp('系統穩(wěn)定');
end
通過極點判定系統是否穩(wěn)定
2 李雅普諾夫定理第二方法A=[-3 -6 -2 -1;1 0 0 0;0 1 0 0;0 0 1 0];
Q=eye(4,4);
P=lyap(A,Q);
flag=0;
n=length(A);
for i=1:n
det(P(1:i,1:i))
if(det(P(1:i,1:i))<=0)
flag=1;
end
end
if flag==1
disp('系統不穩(wěn)定');
else
disp('系統穩(wěn)定');
end
通過P是否正定判定系統是否穩(wěn)定。
第五章 線性系統綜合1 極點配置A=[0 1 0;0 0 1;0 -2 -3];
B=[0;0;1];
P=[-2 -1+1i -1-1i];
M=[B,A*B,A*A*B];
n=length(A);
rank(M)
if rank(M)==n
disp('系統可控')
disp('狀態(tài)反饋')
K=acker(A,B,P)
else
disp('系統不可控')
[Ac,Bc,Cc,T,K]=ctrbf(A,B,C)
end
Ac=A-B*K
disp('配置后極點')
eig(Ac)
對應例題5-2
num=[1 1 -2];
den=[1 2 -5 -6];
[A,B,C,D]=tf2ss(num,den)
P=[-2 -2 -3];
M=[B,A*B,A*A*B];
n=length(A);
rank(M)
if rank(M)==n
disp('系統可控')
disp('狀態(tài)反饋')
K=acker(A,B,P)
else
disp('系統不可控')
[Ac,Bc,Cc,T,K]=ctrbf(A,B,C)
end
Ac=A-B*K
disp('配置后極點')
eig(Ac)
對應習題5-4

本文關鍵詞:現代控制理論,由筆耕文化傳播整理發(fā)布。
,
本文編號:
264320
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/264320.html