Académique Documents
Professionnel Documents
Culture Documents
Septembre 2003
>> 4:1
1.1 Définir une matrice
ans =
1 2 3 Empty matrix: 1-by-0
Pour définir la matrice A
4 5 6
>>A=[1 2 3
ou >>A=[1,2,3;4 5 6]
1.4 Eléments d’une matrice
4 5 6]
Pour obtenir un élément d’une matrice :
e permet d’écrire les puissances de 10 : 1.5 Quelques matrices utiles
234 2 34 102
2.34e2
eye(n) : matrice identité de dimension n
Inf ou inf signifie que la variable est infinie : ∞
(-Inf est également définie) eye(2)
1 0
0 1
NaN ou nan : “Not a Number”
ā
Multiplications, inversion : A*B , B*A , inv(A)
L’incrément par défaut est +1 mais d’autres valeurs sont possibles :
Conjuguée : conj(A) Ā ij i 1 n j 1 m
>> 5:-1:0
ans = Transpose : A.’ AT
5 4 3 2 1 0 Conjuguée transpose : A’ A ĀT
>> 0:pi:10
Exponentielle : expm(A) eA
ans =
0 3.1416 6.2832 9.4248 Puissance : Aˆ3 A3
1
Racine carrée : sqrtm(A) A >> [R,P,K]= residue([1 2 3], [1 -8 +23 -28 12])
Concaténation horizontale : [A,B] A B
R =
9.0000
Concaténation verticale : [A;B]
B
A -6.0000
-11.0000
Valeurs propres : eig(A) -3.0000
rang : rank(A)
P =
trace : trace(A)
3.0000
déterminant : det(A) 2.0000
normes : norm(A) , norm(A,1) , norm(A,inf) 2.0000
1.0000
polynôme caractéristique : poly(A)
Voir aussi logm, svd... K =
[]
1.7 Opérations termes à termes
a b
Ce qui signifie que la décomposition en éléments simples s’écrit (voir
Multiplication : A.*B aide de M ATLAB pour cette fonction) :
Inversion : 1./A 1 a
3 p 2 p 2 p 1
ij ij i 1 n j 1 m
9 6 11 3
Division : B./A b a
ij i 1 n j 1 m
p 2
0
Exponentielle : exp(A) e
ij ij i 1 n j 1 m
ai j
a
3 Systèmes Linéaires
i 1 n j 1 m
Puissance : A.ˆ3 3
a
i 1 n j 1 m
Racine carrée : sqrt(A)
ij
Une boite à outils nommée C ONTROL S YSTEM TOOLBOX permet de
ij i 1 n j 1 m
définir des variables M ATLAB pour un système linéaire invariant dans
Voir aussi abs, log, log10, real, imag, round, sin, acos, le temps (LTI). Cette boite à outils gère de plus les opérations usuelles
tanh... de l’Automatique.
On représente un polynôme par un vecteur ligne où les coefficients Définir Gc p 22p 1
p 2p 1
sont entrés dans l’ordre décroissant du degré. >> gc = tf([2 1], [1 2 1])
1, 2 s + 1
x 1 x 2 x 3
Si 2 et 3 sont les racines d’un polynôme -------------
sˆ2 + 2 s + 1
On remarquera que la variable de Laplace a pour notation ’s’
pour calculer la forme développée du polynôme, on fait :
dans M ATLAB (notation anglo-saxonne).
>>poly([-1 -2 -3])
z 1
ans= Définir 2 à la cadence T 2s :
z 3z 2
1 6 11 6
Le polynôme obtenu est donc x3 6x2 11x 6. >> tf([1 -1], [1 -3 2], 2)
Inversement, si on cherche les racines de x2 x 2 0 :
>>roots([1 -1 2]) Transfer function˜:
ans= z - 1
0.5000 + 1.3229i -------------
0.5000 - 1.3229i zˆ2 - 3 z + 2
Une autre opération très utile est la décomposition en éléments simples
d’une fraction rationnelle. Voici un exemple d’utilisation. Partant de Sampling time: 2
la fraction rationnelle suivante : A la donnée d’une représentation sous forme de fonction de transfert
M ATLAB retourne les vecteurs définissant le numérateur et le dénomi-
p4 8p3
p2
2p 3
23p2 28p 12
nateur (et éventuellement la cadence) à l’aide de la commande suivante
[NUM,DEN,T] = tfdata(SYS,’v’) où SYS est la variable M ATLAB
La décomposition en éléments simples est obtenue avec la commande : contenant le modèle.
2
3.1.2 Représentation zéros/pôles/gain y1 9
Continuous-time model.
Une autre écriture pour les fonctions de transfert est également accep-
tée : zpk. Elle consiste a factoriser les racines des polynômes numéra- La notation est équivalente pour les systèmes à temps discret, il
teur et dénominateur. Par exemple : faut spécifier la cadence T en plus des quatre matrices :
De même que pour les données de tf, pour obtenir les vecteurs b =
comprenant les zéros (racines du numérateur), les pôles (racines u1
du dénominateur) et le gain il suffit d’appliquer la commande x1 0
[Z,P,K,T] = zpkdata(SYS,’v’). x2 0
x3 6.325
fert direct). L’usage est le suivant : d =
u1
1 2 5
ẋ x y1 0
3 4 6
8
x
Définir Fc :
3
3.4 Algèbre des systèmes >> c2d(gc, 1.2, ’tustin’)
Systèmes en série H=F*G
Transfer function:
0.6094 zˆ2 + 0.2812 z - 0.3281
H(s) ------------------------------
G(s) F(s)
zˆ2 - 0.5 z + 0.0625
G(s)
H(s) 3.6 Quelques fonctions utiles
+
A NALYSE DES P ÔLES ET Z ÉROS
+ pole : pôles du système
F(s) zero : zéros du système
damp : pôles, les pulsations propres et amortissements associés
Systèmes bouclés H=feedback(G,F) pzmap : représentation graphique des pôles et zéros dans le plan
complexe
+ G(s) R ÉPONSES TEMPORELLES
-
step : réponse indicielle
impulse : réponse impulsionnelle
F(s)
H(s) initial : réponse pour une condition initiale donnée
lsim : réponse à une entrée quelconque
Attention à ne pas opérer des systèmes de différentes représentations
temporelles tels que des systèmes continus avec des systèmes discrets gensig : génère un signal d’entrée
et des systèmes discrets à cadences différentes entre eux. R ÉPONSES FR ÉQUENTIELLES
dcgain : gain statique
3.5 Echantillonnage et discrétisation bandwidth : fréquence de coupure
L’échantillonnage et la discrétisation sont des opérations qui transfor- bode : diagramme de Bode
ment un modèle à temps continu en modèle à temps discret mais ne
sont pas du tout équivalentes. La première est une opération physique- margin : diagramme de Bode + marges de gain/phase
ment réalisée par un bloqueur d’ordre zéro et un échantillonneur alors nyquist : diagramme de Nyquist
que la seconde est purement mathématique. nichols : diagramme de Black-Nichols
grid : abaques pour le diagramme actif
B p G p
est réalisée par M
3.5.1 Echantillonnage
S YNTH ÈSE DE CORRECTEURS
L’opération G z 0 ATLAB comme
suit : rlocus : lieu d’Evans
ctrb : matrice de commandabilité
>> c2d(gc, 1.2, ’zoh’)
obsv : matrice d’observabilité
Transfer function: place ou acker : placement de pôle
1.06 z - 0.5719
------------------------
zˆ2 - 0.6024 z + 0.09072 4 Outils Graphiques
Sampling time: 1.2 Matlab est souvent utilisé pour tracer des courbes et des surfaces car
le résultat est très réussi. Les commandes sont assez intuitives et ne
méritent pas d’être détaillées ici. Pour connaı̂tre une grande variété de
3.5.2 Discrétisation
commandes tapez >> help graph2d pour les courbes en 2D. Et pour
Parmi les méthodes d’approximation mathématique du comportement les courbes en 3D, vous devinez ce qu’il faut faire.
d’un système continu par un système à temps discret, nous retiendrons
la méthode de Tustin. Elle est réalisée avec M ATLAB de la façon suiv-
ante :