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

Vous aimerez peut-être aussi