Ajout d'un pôle et d'un zéro
%------------------------------------ % influence des pôles et des zéros % réponse indicielle % (c) JPaul Molina %------------------------------------ clear all; % réinitialise echo on %--------------------------------- % réponse indicielle 2éme ordre % influence de pôles et de zéros %----------------------------------- echo off tmax=input('représentation : temps maxi en s ? ');% 10 par exemple t=(0:0.01:tmax)'; K=input('Entrer K : '); % 1 par exemple a=input('Entrer le coefficient de p² : '); % 0.1 par exemple b=input('Entrer le coefficient de p : '); % 0.2 par exemple denom=[a b 1]; % dénominateur ap²+ bp + 1 % on définit la fonction à étudier en fonction de 3 valeurs de tau num1=K*[1 0.5]; % K(p+0.5) num2=K*[1 10]; % K(p+10) num3=K*[1 15]; % K(p+15) denom1=conv( denom , [1 5] ); % effectue (ap²+ bp + 1)(p+5) % calcule la réponse indicielle y(T) [y1,X,T]=step(K,denom,t); % second ordre classique [y2,X,T]=step(num1,denom1,t); % avec 0.5 [y3,X,T]=step(num2,denom1,t); % avec 10 [y4,X,T]=step(num3,denom1,t); % avec 15 clf; % efface la figure plot(t,y1,t,y2,t,y3,t,y4); % tracé des 2 courbes posX = round( length(t)/5 ); % mise en place des légendes title('Influence de pôles et de zéros(réponse indicielle) '); xlabel('temps en s'); % légende abscisse ylabel('y(t)'); % légende ordonnée % écrit les textes relatifs à chaque courbe text( t(posX,:), y2(posX,:), 'Z=0.5' ); text( t(posX,:), y3(posX,:), 'Z=10' ); text( t(posX,:), y4(posX,:), 'Z=15' ); text( t(posX,:), y1(posX,:), '2ème ordre classique' ); grid; % dessine les axes %le texte qui suit sera affiché au point cliqué echo on % placer le texte du 2ème ordre modifié en cliquant à l'endroit souhaité echo off gtext( {' K(p+Z)','F1(p)= --------------------------',' (ap²+bp+1)(p+5)'} ) echo on % placer le texte du 2ème ordre CLASSIQUE en cliquant à l'endroit souhaité echo off gtext( {' K','F(p)= ------------------',' ap²+bp+1'} )
Dernière Modification : Lun 19 Mars 2007 13:28
Copyright © 1999-2010 Jean-Paul Molina Tous droits réservés.