⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 009.m

📁 將單輸入單輸出系統應用在可變結構控制上
💻 M
字号:
clear 
clc

A=[-0.03 0.01 0.01;-0.05 -0.15 0.05;-0.09 0.03 -0.17];
B=[0;0;1];
C=[0 0 1];
D=[7 1 1];
x=[0;0;1];
err=0.1; 
X=[];U=[];Y=[];E=[];T=[];S=[];

t0=0;ts=0.001;tf=10;
for t=t0:ts:tf
    
    s=D*x;
    
%     k=0.5;                                       %case1
%     uncertaintyA=[0 0 -0.03;0 0 0;0 0 0];
%     k=norm(uncertaintyA)+1;                      %case2
    w=[0;0.5*sin(pi*t);0];
    k=norm(w)+1;                                 %case3
    
    u0=-inv(D*B)*D*A*x;
    us=-(0.7*abs(x(1))+0.1*abs(x(2))+0.52*abs(x(3))+0.5)*sat1(s,err);
    u=u0+us;
    
%     xdot=A*x+B*u;                     %case1
%     xdot=(A+uncertaintyA)*x+B*u;   %   case2
    xdot=A*x+B*u+w;                   %case3
    x=x+xdot*ts;
    y=C*x;
    
    X=[X x];T=[T t];S=[S s];U=[U u]; Y=[Y y];
end
figure(1)
  subplot(311);plot(T,X(1,:),'green');grid on;xlabel('Time');ylabel('X1');hold on;legend('case1','case2','case3');
  subplot(312);plot(T,X(2,:),'green');grid on;xlabel('Time');ylabel('X2');hold on;legend('case1','case2','case3');
  subplot(313);plot(T,X(3,:),'green');grid on;xlabel('Time');ylabel('X3');hold on;legend('case1','case2','case3');
figure(2) 
  subplot(311);plot(T,U,'green');grid on;xlabel('Time');ylabel('U');hold on;legend('case1','case2','case3');
  subplot(312);plot(T,S,'green');grid on;xlabel('Time');ylabel('S');hold on;legend('case1','case2','case3');
  subplot(313);plot(T,Y,'green');grid on;xlabel('Time');ylabel('Y');hold on;legend('case1','case2','case3');

⌨️ 快捷键说明

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