shiyan4.m

来自「观测器设计 对MATLAB学习帮助很大」· M 代码 · 共 51 行

M
51
字号
 a=[0 1 0;980 0 -2.8;0 0 -100];
 b=[0;0;100];
 c=[1 0 0];
 d=[0];
 step(a,b,c,d,1)
 p=eig(a);
 %期望极点
 p1=-10+10*i
 p2=-10-10*i
 p3=-100;
 p=[p1; p2; p3]
  %可控性
 rc=rank(ctrb(a,b));
 n=length(a);
 if rc==n  
     k=place(a,b,p)
    a1=a-b*k;
    b1=b*k(1);
    c1=c;
    d1=d;
     figure(2)
    step(a-b*k,b*k,c,d)
else disp('不可控')
end
%观测器设计
%观测器极点
op1=-100;
op2=-101;
op3=-102;
op=[op1; op2; op3]
%可观性
ro=rank(obsv(a,c));
if n==ro
    a2=a1';
    b2=c1';
    c2=b1';
    ke=acker(a2,b2,op);
    l=ke';
 %重构的系统及状态变量
 at=[a-b*k           b*k
     zeros(size(a))  a-l*c];
 bt=[b*k(1); zeros(size(b))];
 ct=[c zeros(size(c))];
 figure(3)
 step(at,bt,ct,d,1);
else disp('不可观')
end
    


  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?