select.asv

来自「防人智能控制的设计」· ASV 代码 · 共 50 行

ASV
50
字号
function [sys,x0]=select1(t,x,u,flag)
%x denotes the state vector
%u=[e de]
%input paramaters: 2
%output parameters:6

global s1 s2 s3 s4 s5 s6

if flag==0 
    sys=[0 0 5 2 1 1];
    x0=[];
    s1=0; s2=0; s3=0; s4=0; s5=0;;
elseif flag==3
    R=1;
    
    e1=0.8*R; e2=0.4*R; e3=0.2*R;
    
    de1=1*R; de2=0.5*R;
    
    s1=0; s2=0; s3=0; s4=0; s5=0; s6=0;
   % control mode 1
   if(abs(u(1))>e1) 
        s1=1;
   end
   
   % control mode 2
   if( (abs(u(1))<=e1) && (abs(u(1))>e2) )
        s2=1;
   end
   
   % control mode 3
   if( (abs(u(1))<=e2) && (abs(u(2))>de1) ) && (abs(u(2))>de1) && (u(1)*u(2)<0))
       s3=1;
   end
   
   % control mode 4
   if( (abs(u(1))<=e2) && (abs(u(2))<de1) &&  ~((abs(u(1))<e3) && (abs(u(2))<de2)))
       s4=1;
   end
   
   % control mode 5
   
   if((abs(u(1))<e3) && (abs(u(2))<de2))
       s5=1;
   end
    sys=[s1 s2 s3 s4 s5];
    [t find(sys==1)];
    
else sys=[];
end

⌨️ 快捷键说明

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