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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
| function dy = ilmi4tankdelay(t,y)
%Conditions initiales des variables d'état
%dy = zeros(30,1) ;
dy=[zeros(20,1);zeros(10,1)];
%%%%%%%%%%%%%%% quadruple tank process with delays %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Définition des paramètres du système
S1=28; S2=32 ; S3=28 ; S4=32 ;
a1=0.071; a2=0.057; a3=0.071; a4=0.057 ;
g= 981 ; kc =0.5;
% Définition de paramètres pour un système à minimum de phase (zéros stables)
h10 = 12.4 ; h20 = 12.7;
h30 = 1.8 ; h40 = 1.4;
v10 = 3 ; v20 = 3 ;
k1=3.33 ; k2 = 3.35 ;
gamma1 = 0.7 ; gamma2 = 0.6 ;
%%%%%%%%%%%%%
% système original : Quadruple tank with delay
A0= [-a1/S1*sqrt(g/2*h10) 0 0 0;0 -a2/S2*sqrt(g/2*h20) 0 0;0 0 -a3/S3*sqrt(g/2*h30) 0;0 0 0 -a4/S4*sqrt(g/2*h40)];
A1=[0 0 a3/S1*sqrt(g/2*h30) 0;0 0 0 a4/S2*sqrt(g/2*h40);0 0 0 0;0 0 0 0];
B0=[(k1*gamma1)/S1 0; 0 (k2*gamma2)/S2; 0 0; 0 0];
B1=[0 0; 0 0;0 (1-gamma2)*k2/S3;(1-gamma1)*k1/S4 0];
C=[kc 0 0 0;0 kc 0 0];
tau1=5 ;
tau2=2 ;
tau3=4 ;
% tau1=5 ;
% tau2=2 ;
% tau3=4 ;
%Système augmenté 1
Atild=[A0 A1 zeros(4,2);zeros(4,10);C zeros(2,4) zeros(2,2)];
Btild=[B0 B1; zeros(4,2) zeros(4,2);zeros(2,2) zeros(2,2)];
Ctild=[C zeros(2,4) zeros(2,2)];
%Paramètres de la méthode de collocation orthogonale
A1t = [6.6640 2.8405 -1.2325 1.1613 -0.6550
-5.1848 0.7688 2.9413 -2.2497 1.2291
2.2497 -2.9413 -0.7688 5.1848 -2.4952
-1.1613 1.2325 -2.8405 -6.6640 8.7783
1.7631 -1.8126 3.6799 -23.6304 21.0000];
B1t = [-8.7783 -8.7783
2.4952 2.4952
-1.2291 -1.2291
0.6550 0.6550
-1.0000 -1.0000];
C1t=[0 0 0 0 1;0 0 0 0 1];
A2t = [6.6640 2.8405 -1.2325 1.1613 -0.6550
-5.1848 0.7688 2.9413 -2.2497 1.2291
2.2497 -2.9413 -0.7688 5.1848 -2.4952
-1.1613 1.2325 -2.8405 -6.6640 8.7783
1.7631 -1.8126 3.6799 -23.6304 21.0000];
B2t = [-8.7783 -8.7783
2.4952 2.4952
-1.2291 -1.2291
0.6550 0.6550
-1.0000 -1.0000];
C2t=[0 0 0 0 1;0 0 0 0 1];
%u11=C1t*w1;
%u12=C2t*w2;
At=[A1t zeros(5,5);zeros(5,5) A2t];
Bt=[B1t;B2t];
Ct=[C1t zeros(2,5);zeros(2,5) C2t];
%Système augmenté 2
Attild=[(1/tau2)*A1t zeros(5,5);zeros(5,5) (1/tau3)*A2t];
Bttild=[(1/tau2)*B1t;(1/tau3)*B2t];
Achap=[Atild Btild*Ct; zeros(10,10) Attild];
Bchap=[zeros(10,2) ; Bttild];
%Cchap=[Ctild zeros(2,10)];
%%%%%%%%%%%%
% % Définition de paramètres pour un système à non-minimum de phase (zéros instables sur le demi-plan gauche)
% h10 = 12.6 ;h20 = 13;
% h30 = 4.8 ;h40 = 4.9;
% v10 = 3.15 ; v20 = 3.15 ;
% k1=3.14 ; k2 = 3.29 ;
% gamma1 = 0.43 ; gamma2 = 0.34 ;
K1t=[Ctild zeros(2,10)];
K2t=[zeros(2,8) eye(2,2) zeros(2,10)];
K3t=[Ctild*Atild zeros(2,10)];
% At= [A zeros(4,2); C zeros(2,2)];
% Bt = [B ;zeros(2,2)];
Kt = [K1t' K2t' K3t']';
Ft = 1.0e+009 * [-5.7619 -5.8320 -3.6609 -3.7854 -1.4857 -0.1871 ; -5.7619 -5.8320 -3.6609 -3.7854 -1.4857 -0.1871];
F1 = [3.1559 0.3655
0.2936 3.1942];
F2 = [0.2196 0.0838
0.0708 0.1541];
F3 = [24.3199 0.0646
0.0208 32.2304];
%u = +Ft*Kt*y(1) +lambda*dy(2); % Retour de sortie dynamique
%
% dksi = (Achap+Bchap*Fi*Kt)*ksi + Bchap*lambda*domega;
% domega = Attild*omega + Bttild*u
u0=[3;3];
lda = -F3*Ctild*Btild*Ct*inv(Attild) ;
%dy=[dy(1);dy(2)];
%[dy]= [(Achap+Bchap*Ft*Kt)*y(1) + Bchap*lda*dy(2); Attild*y(2) + Bttild*u0 ];
dy(1)= (Achap+Bchap*Ft*Kt)*y(1) + Bchap*lda*dy(2);
dy(2)= Attild*y(2) + Bttild*u0 ; |
Partager