SY20
SY20
SY20
- Présentation de Matlab
- Bases de Matlab
Les premiers pas
Vecteurs et matrices
Représentations graphiques
Automatique : les fonctions de transfert
Diagramme de Bode, Nyquist, Black
- Conclusion
Introduction
Dans le cadre de l’unité de valeur SY20, nous avons découvert deux logiciels largement
utilisés en automatique : Matlab et Simulink.
Dans un premier temps, nous présenterons Matlab, ses fonctions de bases ainsi qu’un exemple
d’utilisation de ce logiciel en automatique.
Enfin, pour conclure, nous résumerons les connaissances acquises lors de la formation Matlab
Simulink.
Présentation de Matlab
Matlab était, au départ, un logiciel de calcul matriciel. Aujourd’hui, c’est un logiciel de calcul
mathématique plus général.
- en ligne de commande
x1(1) = 1;
x2(1) = 1;
dt = 0.01;
for k = 1:10000
x1(k+1) = (k*x1(k)*dt + 0.01*x2(k))/(0.01 + 0.1*dt);
x1(k+1);
x2(k+1) = ((0.01/dt)*x1(k) + 1 - 0.01*x2(k))/(1 + (0.5/dt));
x2(k+1);
end
Pour définir une variable, on choisit le nom de la variable et on lui affecte une valeur ou
expression.
On peut facilement obtenir de l’aide sur les commandes en consultant le menu Help
Vecteurs et matrices
Matlab était initialement un logiciel de calcul matriciel. De ce fait, présentons les fonctions de
calculs vectoriels et matriciels de Matlab.
- vect = [1; 2; 3; 4; 5]
donne un vecteur en colonne ( ; signifie passage à la prochaine ligne)
- vect = 0 : 0.5 : 10
donne un vecteur contenant les nombres de 0 à 10 par pas de 0.5
m = input('Valeur de m')
n = input('Valeur de n')
X = zeros(m,n)
for t = 1:m
for p = 1:n
X(t,p) = t + j*p;
end
end
X
// On affiche la matrice X en entier
Pour terminer, on peut rajouter qu’un tel programme ou qu’une fonction similaire peut être
sauvegardée sous la forme d’un fichier m. Ce fichier pourra par la suite être ouvert sous
Matlab et réutilisé directement.
Représentations graphiques
On voit très bien, sur cet exemple, la manière dont on a tracé le graphique :
- on choisit un vecteur abscisse de 80 points entre 0 et 30
- on définit le vecteur ordonné en fonction du vecteur abscisse
- on lance la fonction plot(abscisse, ordonné)
On aurait pu utiliser la fonction subplot pour tracer plusieurs courbes dans la même fenêtre
graphique.
Automatique : les fonctions de transfert
Nous pouvons définir un système à partir de sa fonction de transfert :
- sys=tf(num,den)
où num désigne les cœfficients du numérateur et den ceux du dénominateur
On peut, enfin, ajouter les fonctions Matlab associée aux fonctions de transfert :
- [y, t] = step(sys)
fournit des échantillons de la réponse indicielle du système sys sous la forme d’un
vecteur t et d’un vecteur y
- y = lsim(sys,u, t)
calcul la réponse du système sys pour une entrée u(t). u et t sont deux vecteurs.
Voici un exemple :
On obtient :
Diagrammes de Bode, Nyquist, Black
Matlab permet d’utiliser les outils de bases de l’automatique linéaire que sont les
diagrammes de Bode, Nyquist et Black.
Imaginary Axis
Il est bon de noter que l’on peut se passer de ces fonctions et utiliser un vecteur abscisse, et
une expression pour afficher les diagrammes de Bode, Nyquist et Black avec la fonction plot.
Les gains et déphasages entre une sortie et son entrée peuvent être joliment représenter grâce
à Simulink …
Un outil largement utilisé en automatique : Simulink
Présentation
Simulink est une extension graphique de Matlab. Grâce à Simulink, on peut représenter des
fonctions mathématiques sous forme de blocs. Ensuite, une fois que le système est dessiné, on
peut régler différents paramètres et, enfin, lancer une simulation.
Sous Matlab, on peut démarrer Simulink en tapant simulink dans la fenêtre de commande de
Matlab.
Cette fenêtre donne accès à des groupes d’objets Simulink. Dans ces groupes, on trouve
différents blocs pouvant être utilisés pour dessiner des systèmes.
Pour pouvoir utiliser les blocs, il faut ouvrir un nouveau fichier dans le menu File. Ensuite, on
procède en faisant glisser les objets.
Dans cette partie, nous présenterons les groupes d’objets et les objets que nous avons
réellement utilisé lors des travaux pratiques. Ils sont liés aux connaissances d’automatique
acquises lors des cours et travaux dirigés.
Les sources :
En plus de ces groupes d’objet, nous avons aussi utilisé un objet du groupe Signal Routing :
le multiplexeur. Le multiplexeur sert à fusionner plusieurs sources pour n’en faire plus qu’une
seule.
Systèmes du premier ordre
On remarque que le système met plus de temps à atteindre son régime permanent, du fait de
son τ plus grand.
Système de deuxième ordre : stabilité
Nous allons observer la stabilité d’un système du deuxième ordre avec Simulink. Ensuite nous
vérifierons que cela concorde avec le critère de Routh.
A
avec A = 100 et a, b réels
( p a ) * ( p b)
1 ab 0
-a -b 0 0
ab 0 0
Pour que le système soit stable, il faut que a et b soient tous les deux strictement négatifs.
Posons :
On obtient :
Comme prévu avec le critère de Routh, le système est instable pour des valeurs de a et b
positives.
De même, une valeur positive et autre négative donne un système instable. Une valeur nulle
donne aussi un système instable.
Conclusion
Nous avons présenté, respectivement, les logiciels Matlab et Simulink.
Pour chacun de ces logiciels, nous avons présenté les fonctions de bases. Nous avons ensuite
étendu la présentation par des exemples reliés aux cours et travaux dirigés d’automatique.
Plutôt que de détailler la totalité des travaux pratiques effectués, nous avons choisis de
présenter ce rapport sous forme de synthèse.
Bien que nous n’ayons vu qu’une infime partie des possibilités de Matlab et Simulink, nous
nous sommes rendu compte du professionnalisme et de l’immensité de ces logiciels.
Cette formation a sûrement atteint son but : nous donner envi d’en connaître plus sur
l’automatisme et sur ces logiciels.