1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| close all;
clear all;
clc
input( 'le Système considéré ne tient pas compte de perturbations \n ');
lambda=0.4;
C=[1 1 0.5;0.25 1 0.5];
B=[0 1;0.5 1;0.25 0]';
A=[0 1 -1;1 -2 3;0.25 0 0];
%%%%%%%%%%%%%les données initiales%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x10=1;
x20=1;
x30=-1;
u1=-0.2;
u2=0;
S1=[];
S2=[];
U1=[];
U2=[];
X1=[];
X2=[];
X3=[];
%%%%%%%%%%%calcul de la commande ,surface de glissement et vecteur d'etat%%
for i=1:150
G=A*[x10 x20 x30]'+B*[u1 u2];
x1=G(1);
x2=G(2);
x3=G(3);
K=C*[x1 x2 x3];
s1=K(1);
s2=K(2);
U=[u1 u2]+inv(C*B)*[(lambda-1)*K-C*A*[x1-x10 x2-x20 x3-x30]' ];
x10=G(1);
x20=G(2);
x30=G(3);
[u10 u20]=U;
X1=[X1,x1];
X2=[X2,x2];
X3=[X3,x3];
S1=[S1,s1];
S2=[S2,s2];
U1=[U,u1];
U2=[U,u2];
end
%%%répresentation de la commande ,surface de glissement et les états%%%%%%%
figure(1)
plot(X1,'b-','linewidth',1.5),grid;
% Xlabel('Nombre des itérations');
% Ylabel('Le vecteur d''état x_1');
axis([0 150 -2.5 2]);
% set(gca,'fontsize',15);
% title('Répresentation du vecteur d''état X1','fontsize',15);
figure(2)
plot(X2,'r-','linewidth',1.5),grid;
%Xlabel('Nombre des itérations');
%Ylabel('Le vecteur d''état x_2');
axis([0 150 -8 8]);
%set(gca,'fontsize',15);
%title('Répresentation du vecteur d''état X2','fontsize',15);
figure(3)
plot(X3,'v-','linewidth',1.5),grid;
%Xlabel('Nombre des itérations');
%Ylabel('Le vecteur d''état x_3');
axis([0 150 -0.4 1.4]);
%set(gca,'fontsize',15);
%title('Répresentation du vecteur d''état X2','fontsize',15);
figure(3)
plot(S1,'k-','linewidth',1.5),grid;
%Xlabel('Nombre des itérations');
%Ylabel('La surface de glissement s1');
axis([0 150 -4 4]);
%set(gca,'fontsize',15);
%title('Répresentation de la surface de glissement S1 ','fontsize',15);
figure(4)
plot(S2,'n-','linewidth',1.5),grid;
%Xlabel('Nombre des itérations');
%Ylabel('La surface de glissement s2');
axis([0 150 -3 6]);
%set(gca,'fontsize',15);
%title('Répresentation de la surface de glissement S2 ','fontsize',15);
figure(5)
plot(U1,'g-','linewidth',1.5),grid;
%Xlabel('Nombre des itérations');
%Ylabel('La commande u1');
axis([0 150 -50 40]);
%set(gca,'fontsize',15);
%title('Répresentation de la commande U1 ','fontsize',15);
figure(6)
plot(U2,'y-','linewidth',1.5),grid;
%Xlabel('Nombre des itérations');
%Ylabel('La commande u2');
axis([0 150 -8 8]);
%set(gca,'fontsize',15);
%title('Répresentation de la commande U2 ','fontsize',15); |
Partager