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

📄 chap2_6.m

📁 滑模变结构控制MATLAB仿真书籍的源码
💻 M
字号:
clear all;
close all;
global a b c A F M ep k delta
ts=0.001;
T=5;
TimeSet=[0:ts:T];

c=5.0;
para=[];

[t,x]=ode45('chap2_6eq',TimeSet,[-0.5 0],[],para);
x1=x(:,1);
x2=x(:,2);

r=A*sin(2*pi*F*t);
dr=A*2*pi*F*cos(2*pi*F*t);   
ddr=-A*(2*pi*F)^2*sin(2*pi*F*t);
   
s=c*(r-x(:,1))+dr-x(:,2);

if M==1
	slaw=-ep*sign(s)-k*s;     %Exponential velocity trending law
	u=1/b*(c*(dr-x(2))+ddr-slaw+a*x(2));
elseif M==2                  %Saturated function 
	kk=1/delta;
	for i=1:1:T/ts+1   
   if s(i)>delta
		sats(i)=1;
	elseif abs(s(i))<=delta
		sats(i)=kk*s(i);
	elseif s(i)<-delta
		sats(i)=-1;
   end
   	slaw(i)=-ep*sats(i)-k*s(i);
		u(i)=1/b*(c*(dr(i)-x2(i))+ddr(i)-slaw(i)+a*x2(i));
	end

elseif M==3                   %Relay characteristics
	for i=1:1:T/ts+1   
   	ths(i)=s(i)/(abs(s(i))+delta);
	   slaw(i)=-ep*ths(i)-k*s(i);
		u(i)=1/b*(c*(dr(i)-x2(i))+ddr(i)-slaw(i)+a*x2(i));
   end
end

figure(1);
plot(t,r,'r',t,x(:,1),'b');
xlabel('time(s)');ylabel('r,yout');
figure(2);
plot(t,r-x(:,1),'r');
xlabel('time(s)');ylabel('error');
figure(3);
plot(r-x(:,1),dr-x(:,2),'r',r-x(:,1),-c*(r-x(:,1)),'b');    %Draw line(s=0)
xlabel('e');ylabel('de');
figure(4);
plot(t,s,'r');
xlabel('time(s)');ylabel('s');
figure(5);
plot(t,u,'r');
xlabel('time(s)');ylabel('u');

⌨️ 快捷键说明

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