Vous êtes sur la page 1sur 4

1

Académie Internationale Mohammed VI de l’Aviation Civile


- AIAC -

Initiation à Matlab
Asservissement des SL Continus
1ère Année Filière GEET. Pr A. EL ASSOUDI
Année Universitaire 2021-2022

1 Présentation de MATLAB
En ce qui concerne le domaine de l’automatique que ce soit en matière d’analyse, d’identifica-
tion ou de commande, Matlab constitue l’outil de référence pour la simulation numérique. Il
s’agit d’un puissant outil de calcul numérique, de programmation et de visualisation graphique.
Il permet d’effectuer des opérations mathématiques, de manipuler des matrices, de tracer faci-
lement des graphiques.
Définition d’un vecteur colonne : X=[1 ;2 ;3 ;4 ;5 ;6] ;
Définition d’un vecteur ligne : Y=[10 20 30 40 50 60] ;
Définition d’une Matrice : On définit une matrice M en donnant ses éléments :
M = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16] ;
Matrice unitaire : A = eye(3).
Matrice nulle : A = zeros(3).
Emploi des indices : Les éléments d’un vecteur ou d’une matrice peuvent être adressés en
utilisant les indices sous la forme suivante :
X(5) : désigne l’élément numéro 5 du vecteur X.
M (2, 3) : désigne l’élément se trouvant à la ligne 2, colonne 3 de la matrice M .
M (:, 2) : désigne la colonne 2 de la matrice M .
M (4, :) : désigne la ligne 4 de la matrice M .
2

Opérations matricielles

Les opérations matricielles exécutées par MATLAB sont illustrées dans le tableau suivant :

B=A’ La matrice B est égale à la matrice A transposée


C=inv(A) La matrice C est égale à la matrice A inversée
D=A+B Addition
E=A-B Soustraction
F=A*B Multiplication
G = A\B Equivalent à inv(A)*B
H = A/B Equivalent à B*inv(A)

Graphiques

On utilise l’instruction plot pour tracer un graphique 2D.

plot(t,x) Traçage de la courbe x(t)


plot(t,x,’r’) Traçage de x(t) en rouge
plot(t,x,t,y) Traçage de x(t) et y(t) sur le même graphique
semilogx(w,f) Traçage de f(w) avec échelle log(w)
subplot instruction pour tracer plusieurs graphique dans la même fenêtre :
division de la fenêtre en plusieurs parties
grid Ajouter une grille
hold on Superposition de courbes
axis([a b c d]) Affichage d’une partie de la courbe :
[a b] : axe des abscisses et [c d] : axe des ordonnées
plot([a1 a2 ], [b1 b2 ]) Traçage d’un segment :
[a1 a2 ] : axe des abscisses et [b1 b2 ] : axe des ordonnées
X = [α1 α2 α2 α1 α1 ] [α1 α2 ] : axe des abscisses
Y = [β1 β1 β2 β2 β1 ] [β1 β2 ] : axe des ordonnées
plot(X, Y ) Traçage d’un rectangle.
3

2 Simulation d’une fonction de transfert


Etant donnée un système linéaire continu décrit par sa fonction de transfert :

bm pm + bm−1 pm−1 + . . . + b1 p + b0
F (p) =
an pn + an−1 pn−1 + . . . + a1 p + a0

Programme de simulation : essai.m


clear all ; close all ; clc ;
% déclaration du numérateur & dénominateur
num = [bm bm−1 . . . b1 b0 ] ; % coefficients dans l’ordre décroissant du polynôme
den = [an an−1 . . . a1 a0 ] ; % coefficients dans l’ordre décroissant du polynôme

% Analyse indicielle
t=0 :0.001 :5 ;
y=step(num,den,t)
figure(1), plot(t,y)

% Analyse harmonique dans le diagramme de Bode


w=logspace(-1,3,1000) ;
[gain, phase] = bode(num, den, w) ;
gaindB=20*log10(gain) ;
figure(2)
subplot(2,1,1),semilogx(w,gaindB), grid
xlabel(’w,rad/s’),ylabel(’Amplitude,dB’)
subplot(2,1,2),semilogx(w,phase), grid
xlabel(’w,rad/s’),ylabel(’Phase,degré’)

% Tracé dans le plan de Black


figure(3), plot(phase,gaindB)
% Tracé dans le plan de Nyquist
[Re, Im] = nyquist(num, den, w)
figure(4), plot(Re,Im)
4

3 Calcul de la FT à partir d’un schéma bloc


Etant donnée un système linéaire continu décrit par le schéma bloc figure 1 :

Figure 1 : Schéma bloc


Objectif : il s’agit d’évaluer à l’aide du logiciel Matlab la fonction de transfert du système en
boucle fermée, ayant pour expression :
Y (p) C(p)H(p)
=
Yc (p) 1 + C(p)H(p)Gr (p)
Notations :
num1(p) num2(p) num3(p)
C(p) = ; H(p) = ; Gr (p) =
den1(p) den2(p) den3(p)

Simplification des blocs C(p) et H(p) : appelons num4 et den4 le numérateur et le dénominateur
de la fonction de transfert directe
num1(p) num2(p)
C(p)H(p) =
den1(p) den2(p)
num4 = conv(num1, num2) ;
den4 = conv(den1, den2) ;
Ainsi pour le système global, notons par num et den le numérateur et le dénominateur de la
fonction de transfert en BF :
Y (p) C(p)H(p) num(p)
= =
Yc (p) 1 + C(p)H(p)Gr (p) den(p)

[num, den] = f eedback(num4, den4, num3, den3, −1)

Remarque : Cas d’un retour unitaire Gr (p) = 1 càd num3=den3=1


[num, den] = f eedback(num4, den4, 1, 1, −1)

Vous aimerez peut-être aussi