Vous êtes sur la page 1sur 26

2019/2020

TD 1 Compte rendu
Initiation au logiciel matlab et Simulink

Réalise par Mohammed Hakmaoui


`

Utilisation liée aux matrices et vecteurs

 Définie une matrices

Pour définir une matrices dans matlab il faut écrite la


matrices comme ces exemple :

>>A=[1 2 ; 4 5] >>B=[5 6 ; 9 8]

 Opérations sur les matrice


 Addition A+B

 Soustraction A-B
`

 Multiplication A*B ET B*A

 L’inversion : inv(A)

 La transpose d’une matrice : transpose (A) ou A’


`

 Etude des matrices


 Valeurs propres : eig(A)

 Rang : rank(A)

 Trace : trace(A)

 Déterminant : det(A)
`

Utilisation liée aux traçages des courbes

MATLAB est un outil très puissant pour la gestion


des graphiques que ce soit en une dimensions ou
en trois dimensions

 Graphiques 2D

Pour tracer un graphique en 2D on utilise

l’instruction plot , pour tracer une courbe y=sin(x)

par exemple ou x=0 :50 ; il suffit de faire

>>x=0 :50 ; y=sin(x) ; plot(x,y)


`

Mais en trouve que ce signal n’est pas sinusoïdal

parceque le signal n’est pas précise pour plus de

précision en prend l’équation suivant :

>>x=0:0.1:60;y=sin(x);plot(x,y)

 Exemple de traçage d’un graphique

>> t=0:0.01e-3:0.06;

>> y=10*exp(-60*t).*cos(120*pi*t);

>> z=10*exp(-60*t).*sin(120*pi*t);

>> plot(t,y,'r',t,z,'g'),grid

>> a=10*exp(-60*t);

>> hold
`

Current plot held

>> plot(t,a,'b--')

>> plot(t,-a,'b--')

>> title('Fonction sinusoidales amorties')

>> xlabel('Temps,s'),ylabel('Tension,v')
`

>> hold off

>> plot(y,z),grid

>> axis equal

>> xlabel('y'),ylabel('z')
`

 Graphique multiple

Pour tracer plusieurs graphiques dans la même fenêtre il faut


utilise l’instruction subplot pour diviser la fenêtre en plusieurs
parties.

 Exemple de traçage deux graphiques dans la même


fenêtre

>> w=logspace(0,3,1000);

>> s=j*w

>> H=225./(s.*s+3*s+225);

>> AdB=20*log10(abs(H));

>> phase=angle(H)*(180/pi);

>> subplot(2,1,1),semilogx(w,AdB),grid

>> xlabel('W,rad/s'),ylabel('Amplitude,dB')

>> subplot(2,1,2),semilogx(w,phase),grid

>> xlabel('w,rad/s'),ylabel('phase,degré')

 Graphiques 3D
`

>> t=0:0.05:25;

>> x=exp(-0.05*t).*cos(t);

>> y=exp(-0.05*t).*sin(t);

>> z=t;

>> plot3(x,y,z),grid

 Utilisation lié a l’automatiques


1. Saisie la fonction de transfert
`

2. Etude de la réponse a un échelon :

>> t=0:0.1:10;

>> y=step(num,den,t);

>> plot(t,y)

>> plot(t,y),grid

3. Commentaire sur la courbe

>> title('réponse a un échelon ');

>> xlabel('temps');
`

>> ylabel('y');

Tracer deux lignes horizontale et de faire


apparaitre le ‘tuyau des réponses a 5%

>> line([1 10],[1.05 1.05])

>> line([0 10],[0.95 0.95],'color','g')

4. Réponse à un signal quelconque

Définir le temps

>> t=0:0.1:10
`

Une ramp

>> ramp=t;

>> y=lsim(num,den,ramp,t);

>> plot(t,y)

>> z=lsim(num,den,sinus,t);

>> plot(t,z)

Pour affecter la couleur rouge à ce tracé pour le différencier du précédent :


>> hold on
>> plot(t,sinus,'r')
`

5. Etude fréquentielle
 Diagramme de bode de H

num =

>> den=[1 2 5]

den =

1 2 5

>> bode(num,den)
`

*Pour avoir un diagramme de bode personalisé :

>> figure

>> puls=logspace(0,1,100);

>> [ampli,phase,puls]=bode(num,den,puls);

>> subplot(211),semilogx(puls,20*log10(ampli)),

>> grid

>> subplot(212),semilogx(puls,phase)

>> grid
`

*Pour mesurer la marge de phase et la marge de gain ainsi que des


pulsations on pose :

>> Gm=inf;Pm=53.1301

Pm =

53.130

>> Wcg=inf;Wcp=4.0000

Wcp =

>> [Gm,Pm,Wcg,Wcp]=margin(num,den)

Gm =

Inf

Pm =

Inf

Wcg =

Inf

Wcp =

NaN

6. Diagramme de Nyquist de H :

>> num=6

num =

>> den=[6 4 2]

den =

6 4 2

>> nyquist(num,den)
`

7. Construire un système en boucle férmée :

num =

>> den=[6 4 2]

den =

6 4 2

>> nyquist(num,den)

>> [numf,denf]=cloop(num,den,-1);

>> step(numf,denf)
`

8. L’influence du correcteur :
>> num = 60*(10*6)

num =

3600

>> [numf,denf]=cloop(num,den,-1);

>> step(numf,denf)

9. Fonction de transfert d’un système décrit comme suit :

>> G=tf([2 1],[1 2 1])

G=

2s+1

-------------

s^2 + 2 s + 1

Continuous-time transfer function.

>> G=tf([2 1],[1 2 1])

G=

2s+1

-------------
`

s^2 + 2 s + 1

Continuous-time transfer function.

>> G1=tf([2 2],[1 0.5 1])

G1 =

2s+2

---------------

s^2 + 0.5 s + 1

Continuous-time transfer function.

>> G2=tf([0 1],[0 16 0])

G2 =

----

16 s

Continuous-time transfer function.

>> G2=tf([1],[0 16 0])

G2 =

----

16 s
`

Continuous-time transfer function.

>> G1*G2

ans =

2s+2

---------------------

16 s^3 + 8 s^2 + 16 s

Continuous-time transfer function.

>> G1+G2

ans =

33 s^2 + 32.5 s + 1

---------------------

16 s^3 + 8 s^2 + 16 s

Continuous-time transfer function.

>> feedback(G1,G2)

Continuous-time transfer function.

>> G1*G2

ans =

2s+2

---------------------

16 s^3 + 8 s^2 + 16 s

Continuous-time transfer function.

>> G1+G2

ans =
`

33 s^2 + 32.5 s + 1

---------------------

16 s^3 + 8 s^2 + 16 s

Continuous-time transfer function.

>> feedback(G1,G2)

ans =

32 s^2 + 32 s

-------------------------

16 s^3 + 8 s^2 + 18 s + 2

Continuous-time transfer function.

>> pole(G)

ans =

-1

-1

>> step(G)
`

>> impulse(G)

>> bode(G)
`

*Utilisation du Simulink library :

*Analyse de H à l’aide de Simulink :


`

Modification de la valeurs de gain ;

*Après la modification du paramètre du PID ;

 Rapidité
`

 Précision ;
`

*Démonstration pour le feedback

𝑺(𝒑) 𝑮𝟏(𝒑)
F(p)= =
𝑬(𝒑) 𝟏+𝑮𝟏(𝒑)∗𝑮𝟐(𝒑)
𝟐𝒑+𝟐
𝒑𝟐 +𝟎.𝟓𝐩+𝟏
= 𝟐𝒑+𝟐 𝟏
𝟏+ 𝟐 ∗
𝒑 +𝟎.𝟓𝐩+𝟏 𝟏𝟔𝒑

𝟐𝒑+𝟐
= 𝟏𝟔𝒑𝟑+𝟖𝐩𝟐+𝟏𝟖𝐩+𝟐
𝟏𝟔𝒑

𝟑𝟐𝒑𝟐 +𝟑𝟐𝐩
=
𝟏𝟔𝒑𝟑 +𝟖𝐩𝟐 +𝟏𝟖
 Conclusion

En conclure ce TD permet de maîtriser plusieurs tâche des


simulation pour les systèmes de traitement numérique des calcules
mathématique et de visualisation graphique dans le logiciel MATLAB