传递函数:
20
--------------- 极点:p =-1.0557 , -18.9443
s^2 + 20 s + 20
Td/s
Ts/s
t(Mp)/s
Mp/100%
2.384
4.637
0
0
状态反馈:
期望值:s=-7.07+-i7.07
a(s)=s2+14.14s+100
% 系统状态可观性
function str = pdobsv(A,C)
Qo=obsv(A,C);
r=rank(Qo);
l=size(A,1);
if r==l
str=系统状态是完全可观的!;
else str=系统不是状态完全可观的!;
end
% 状态可控性
function str = pdctrb(A,B)
Qc=ctrb(A,B);
r=rank(Qc);
l=length(A);
if r==l
str=系统状态是完全 -可控的!;
else str=系统不是状态完全可控的!;
end
% 状态反馈
function [K,ABK] = zhtfk(A,B,P)
K=acker(A,B,P);
ABK=A-B*K;
end
调用:‘shiyan26cc.m’
A=[-20 20;-1 0]
B=[0;1]
P=[-7.07-i*7.07 -7.07+i*7.07]
K=acker(A,B,P)
[A,B,C,D]=linmod(shiyan36b)
str = pdctrb(A,B)
str = pdobsv(A,C)
[num,den]=ss2tf(A,B,C,D,1)
sys=tf(num,den)
% sys=ss(A,B,C,D)
step(sys)
grid on
结果
K =
9.8585 -5.8600 //反馈量
p =
-7.0700 + 7.0700i
-7.0700 - 7.0700i
sys =
20
---------------------
s^2 + 14.14 s + 99.97
Continuous-time transfer function.
str =
系统状态是完全 -可控的!
str =
系统状态是完全可观的!
Td/s
Ts/s
t(Mp)/s
Mp/100%
0.261
0.684
0.436
0.045
全维观测器:取特征值为-20 -20
Td/s
Ts/s
t(Mp)/s
Mp/100%
0.281
0.682
0.437
0.045
function [E,AEC]= qwgcq(A,B,C,P1)
A1=A;
B1=C;
C1=B;
K=acker(A1,B1,P1);
E=(K);
AEC=A-E*C;
end
调用:
A=[-20 20;-1 0];
B=[0;1];
C=[1 0];
P=[-7.07-i*7.07 -7.07+i*7.07];
P1=[-20 -20];
%[K,ABK] = zhtfk(A,B,P)
[E,AEC]= qwgcq(A,B,C,P1)
[A,B,C,D]=linmod(shiyan36c)
[z,p,k]=ss2zp(A,B,C,D,1) %1为输入个数
sys1=zpk(z,p,k)
step(sys)
grid on
降维观测器:取特征值为-20
Td/s
Ts/s
t(Mp)/s
Mp/100%
0.281
0.682
0.437
0.045
% 降维观测器
function xjjwgcq(A,B,C,Q,q) %q=rank(c),仅适用于矩阵C是(n;1)维的矩阵
%,若非,可改下面的参数实现;Q=[D;C]
% n= length(A);
N=size(A);
n=N(1); %取A的行数
q=n-q; %q维观测器
Q1=inv(Q);
A=Q*A*Q1;
B=Q*B;
C=C*Q1;
A11=[A(1:q,1:q)]
A12=[A(1:q,q+1:n)]
A21=[A(q+1:n,1:q)]
A22=[A(q+1:n,q+1:n)]
B1=B(1:q,1)
B2=B(q+1:n,1)
dwjzh=eye(size(A11));
syms s e1 e2 e3 e4 e5 e6 e7 e8 e9;
E=[e1;e2;e3;e4;e5;e6;e7;e8;e9];
E=E(1:q,1)
aeaz=(A11-E*A21);
ep=collect(det(s*dwjzh-aeaz))
end
调用: .m文件;
A=[-20 20;-1 0];
原创力文档

文档评论(0)