relay.m

来自「xnsy算法的matlab实现」· M 代码 · 共 26 行

M
26
字号
function out=relay(in)
%继电器特性:
% 其中m为
%
h=in(1);
m=in(2);
val=in(3);
dx_dt=in(4);
x=in(5);

if (m>1|(m<0&m~=-1))|(val<=0)|(h<0)

 % figure;
 % text(0.5,0.5,'error!!!');
 disp('error!  -1=<m<=1.');
 out=1;
 % break; 
else 
   if (m~=-1)&((x>=-m*h&x<=m*h)|((x>=m*h&x<=h)&dx_dt>=0)|((x>=-h&x<=-m*h)&dx_dt<=0))
     out=0;
   elseif (x>h)|((x>=m*h&x<=h)&dx_dt<=0)
     out=val;
   elseif (x<=-h)|((x>=-h&x<=-m*h)&dx_dt>=0)
     out=-val; 
   end; 
end;

⌨️ 快捷键说明

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