%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Programme rebi_obs.m %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%% close all; clear all % Définition d'une représentation d'état du système A=input('matrice A du système?') B=input('matrice B du système?') C=input('matrice C du système?') [n,m]=size(B); [p,n]=size(C); % Placement de pôles vitesse=input('partie réelle maximale des pôles en BF (entrer une valeur négative) ?') dzeta=input('amortissement minimal des pôles en BF?') Pbf=placement_poles_rebi(vitesse,dzeta,A,n); % Représentation d'état du système augmenté Aa=[A zeros(n,1);C 0]; Ba=[B;0]; % Calcul de Ka Ka=acker(Aa,Ba,Pbf); Kp=Ka(1:n); Ki=Ka(n+1); % Placement de pôles observateur sys_etat=ss(A,B,C,0); poles_rapides=input('Quelle valeur pour les éventuels pôles rapides ?') Pobs=placement_poles_obs(sys_etat,n,m,poles_rapides); % Calcul du gain de l’observateur L=acker(A',C',Pobs); Kt=L'; % Tracé des lieux de Bode et calcul des marges de module q=p; E=eye(q,q); [Mmi,Mmo,Mmci,Mmco]=calcul_marges_2(A,B,C,E,Kp,Ki,Kt,n,m,p,q)