Vous êtes sur la page 1sur 3

%%TP1 Analyse temporelle d'un systme dynamique 1er ordre

% Reponse impulsionnelle
t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001
R= 50;
C= 63*10^-6;
num=[ 1 ] ; % Numerateur de la fonction de transfert
den=[R*C 1] ; % le denominateur de la FT
sys=tf(num,den) ; % cration de la FT
y1=impulse(sys,t) ; % La reponse impulsionnelle
y0=y1(1)
plot(t,y1); % Le graphe de la reponse impulsionnelle
title('Reponse impulsionnelle')

% Reponse indicielle
t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001
R= 50;
C= 63*10^-6;
num=[ 1 ] ; % Numerateur de la fonction de transfert
den=[R*C 1] ; % le dnominateur de la FT
sys=tf(num,den) ; % cration de la FT
y1=step(sys,t) ; % La reponse impulsionnelle
y0=y1(1)
plot(t,y1); % Le graphe de la reponse indicielle
title('Reponse indicielle')

% Rponse indicielle
t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001
R= 50;
C= 63*10^-6;
num=[ 1 ] ; % Numrateur de la fonction de transfert
den=[R*C 1] ; % le dnominateur de la FT
sys=tf(num,den) ; % cration de la FT
y1=step(sys,t) ; % La reponse indicielle
plot(t,y1); % Le graphe de la reponse indicielle
title('Reponse indicielle')
hold on
ym=max(y1 ) ;
yt=0.63*ym ;
max_idx=find(y1>=yt, 1 );
tau=t(max_idx)
plot([tau tau],[0 yt],'m--')
str=sprintf('tau=%3.4f s',tau);
gtext (str)

% Reponse indicielle
t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001
R= 50;
C= 63*10^-6;
num=[ 1 ] ; % Numerateur de la fonction de transfert
den=[R*C 1] ; % le denominateur de la FT
sys=tf(num,den) ; % cration de la FT
y1=step(sys,t) ; % La reponse impulsionnelle
plot(t,y1); % Le graphe de la reponse indicielle
title('Reponse indicielle')
hold on
% Calcul de la constante du temps
ym=max(y1 ) ;
yt=0.63*ym ;
max_idx=find(y1>=yt, 1 );
tau=t(max_idx)
plot([tau tau],[0 yt],'m--')
str=sprintf('tau=%3.4f s',tau);
gtext (str)

% Calcul du temps de monte


Tm=t(find(y2>=0.9*k,1))-t(find(y2>=0.1*k,1))
% Calcule de temps de rponse
Tr=t(find(y2>=0.95*k,1))
plot([Tr Tr],[0 k],':')
str1=sprintf('t. rep =%3.4f s',Tr);
gtext (str1)
hold off

%Rponses indicielles du systme correspondantes aux diffrentes valeurs de


%tau(0.0016-rouge-, 0.0032-bleu-, 0.0064-vert-)
t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001
num=[ 1 ] ; % Numerateur de la fonction de transfert
% les denominateurs de la FT
den1=[0.0016 1] ;
den2=[0.0032 1];
den3=[0.0064 1];
% cration des FT
sys1=tf(num,den1) ;
sys2=tf(num,den2);
sys3=tf(num,den3);
y1=step(sys1,t) ;
plot(t,y1,'r'); % Le graphe de la reponse indicielle
hold on
y2=step(sys2,t);
plot(t,y2,'b')
y3=step(sys3,t);
plot(t,y3,'g')
hold off
legend('tau= 0.0016','tau= 0.0032','tau= 0.0064')
title('Rponse indicielle "variation de tau"')

%Rponses une rampe du systme correspondantes aux diffrentes valeurs de


%tau(0.0016-rouge-, 0.0032-bleu-, 0.0064-vert-)
t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001
a=2;
num=[ 1 ] ; % Numerateur de la fonction de transfert
% les denominateurs de la FT
den1=[0.0016 1] ;
den2=[0.0032 1];
den3=[0.0064 1];
% cration de la FT
sys1=tf(num,den1) ;
sys2=tf(num,den2);
sys3=tf(num,den3);
u=a*t ;
y1=lsim(sys1,u,t) ;
plot(t,y1,'r'); % Le graphe de la reponse

hold on
y2=lsim(sys2,u,t) ;
plot(t,y2,'b')
y3=lsim(sys3,u,t) ;
plot(t,y3,'g')
hold off
legend('tau= 0.0016','tau= 0.0032','tau= 0.0064')
title('Rponse une rampe 2*t "variation de tau"')
%Erreur de trainage correspondantes aux diffrentes valeurs de
%tau(0.0016-rouge-, 0.0032-bleu-, 0.0064-vert-)

t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001


a=2;
num=[ 1 ] ; % Numerateur de la fonction de transfert
% les denominateurs de la FT
den1=[0.0016 1] ;
den2=[0.0032 1];
den3=[0.0064 1];
% cration de la FT
sys1=tf(num,den1) ;
sys2=tf(num,den2);
sys3=tf(num,den3);
u=a*t' ;
y1=lsim(sys1,u,t) ;
plot(t,u-y1,'r'); % Le graphe de l'erreur de trainage
er_red= max(u-y1)
hold on
y2=lsim(sys2,u,t) ;
plot(t,u-y2,'b')
er_blue= max(u-y2)
y3=lsim(sys3,u,t) ;
plot(t,u-y3,'g')
er_green= max(u-y3)
hold off
legend('tau= 0.0016','tau= 0.0032','tau= 0.0064')
title('Erreur de trainage "variation de tau"')

Vous aimerez peut-être aussi