Vous êtes sur la page 1sur 26

1. Reprsentation dtat des systmes linaires continus et discrets.

Chapitre

Reprsentation dtat des


systmes linaires
1.1.
Introduction
1.1.1. Dfinition
1.1.2. Reprsentation dtat avec Matlab
1.1.3. Diffrentes matrices
1.2.
Equation dEtat des systmes continus
1.2.1. Rsonateur mcanique
1.2.2. Mise en quation de circuits lectriques
1.2.3. Moteur courant continu command par l'induit
1.3.

Equation dEtat des systmes chantillonns

1.4.
Diffrentes formes de la reprsentation dtat
1.4.1. Non unicit de la reprsentation d'tat
1.4.2. Diagonalisation de la matrice A
1.4.3. Formes de Jordan de la matrice A
1.5.
Reprsentation dtat et Matlab
1.5.1. Cas des systmes continus
1.5.2. Cas des systmes chantillonns

Pour rsoudre les problmes d'analyse et de synthse des systmes de commande, les
ingnieurs disposent doutils performants tudis antrieurement. Ainsi les mthodes
frquentielles de BODE, de BLACK-NICHOLS et les mthodes temporelles comme le lieu de
EVANS sont dun usage courant. Cependant l'avnement de calculateurs numriques toujours
plus rapides et performants, capables de rsoudre simultanment un nombre incroyable
d'quations diffrentielles conduit mettre en uvre de nouvelles mthodes. Ces mthodes se
prtent prcisment la rsolution des problmes complexes soulevs par la commande des
systmes modernes (guidage et pilotage des aronefs, techniques de navigation automatique,
conduite des processus industriels, ).
1.1.

INTRODUCTION

La thorie moderne des systmes fait appel la notion de variables d'tat. Ces variables
dcrivent entirement le comportement dynamique du systme auquel elles correspondent.
Les quations d'tat permettent de reprsenter les systmes linaires continus, chantillonns
et discrets. Cette reprsentation est particulirement bien adapte la description des
systmes monovariables (SISO = single input single output) et multivariables (multiple input
multiple output). De plus, bien que cet aspect de la question ne soit pas abord dans ce cours,
signalons que le formalisme d'tat permet de traiter les systmes dont les paramtres varient
dans le temps (systmes non stationnaires).
Les ingnieurs se sont les premiers intresss ce formalisme pour traiter les problmes
rencontrs dans le domaine de la physique, de la mcanique, de llectronique, de
larodynamique, de la thermodynamique, etc. Cependant le concept de variables dtat est
aussi utilis pour lanalyse de systmes biologiques, sociaux, conomiques, etc.
RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

1.1.1. DEFINITION
Un systme reoit des excitations du milieu extrieur, mmorise de l'information et restitue
l'ensemble sous une forme dtermine. L'tat d'un tel systme dynamique est l'ensemble des
grandeurs internes qui, jointes la connaissance du vecteur de commande u(t), reprsente la
connaissance du pass ncessaire la dtermination du comportement futur. En d'autres
termes, x(t0 ) est le vecteur d'tat d'un systme l'instant t 0 si la connaissance de x(t ) ce
seul instant t 0 et du vecteur de commande u(t) pour t > t 0 permet, par l'intermdiaire des
quations qui rgissent le systme, de dterminer le vecteur d'tat x(t ) t t0 .

La variation du vecteur dtat x(t0 ) gnre la trajectoire dtat. La commande du systme par
le vecteur u (t ) appliqu de t1 t 2 a pour but de translater ltat du systme de x(t1 ) x(t2 ) .
Ce formalisme sapplique aux systmes continus comme aux systmes discrets.
Systme continu

Systme discret

Equation d'tat

x& = Ax + Bu

xk +1 = Fxk + Huk

Equation de mesure

y = Cx + Du

yk = Cxk + Duk

Avec :

x(t ) = [x1

xk = x1, k

x2
x2, k

x3 .. xn-1
x3, k

.. xn-1, k

xn ]T pour les systmes continus.


xn, k

]T

pour les systmes discrets

Si les matrices A, B, C et D (respectivement F, H, C et D) sont indpendantes du temps t le


systme est dit invariant ou stationnaire. Dans la suite de ce cours, sauf cas particulier, nous
ne considrons que des systmes invariants.
L'ordre du systme est gal au nombre n de variables d'tat composantes du vecteur d'tat x(t).
1.1.2. REPRESENTATION DETAT AVEC MATLAB

On dfinit les matrices a, b, c, d. On dclare alors que le systme de nom sys admet cette
reprsentation dtat avec la commande ss (i.e. state-space).
>> sys=ss(a,b,c,d)
1.1.3. DIFFERENTES MATRICES
Appellation

A ou F
B ou H
C
D

Dsignation

Matrice d'volution ou matrice dynamique


Matrice de commande
Matrice d'observation, de sortie ou de mesure
Matrice de transmission directe

Dimension

(n x n)
(n x r )
(p x n)
(p x r)

n = nombre de variables d'tat = ordre du systme


r = nombre de commandes
p = nombre de sorties
RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

x&

B
r

1
r

D
r

u
u
1

On crira :
a12
x1 a11
x a
a22
21
2
d
...
x& = ... = ...
dt
xn1 a(n1)1 a(n1)2
xn an1
an2

...
...

a1(n1)
a2(n1)

...
...
... a(n1)(n1)
...

an(n1)

a1n x1
a2n x2 b11 ... b1r u1

... ... + ... ... ... ...


a(n1)n xn1 bn1 ... bnr ur
ann xn

c11 ... c1n x1 d11 ... d1,r u1

y = ... ... ... ... + ... ... ... ...


cp1 ... cpn xn d p1 ... d p, ur

1.2.

EQUATION DETAT DES SYSTEMES CONTINUS

Afin de familiariser le lecteur avec la notion de reprsentation d'tat nous traiterons quelques
exemples de mise en quation.
1.2.1. RESONATEUR MECANIQUE

Mettons en quation le systme mcanique classique comprenant une masse m, un ressort r et


un amortisseur d (dashpot). La sortie y (t ) reprsente le dplacement de la masse par rapport
au botier lorsque cette masse est sollicite par la force u (t ) .

y(t)

r
d

u(t)

d2y
dt

= u (t ) ry d

dy
dt

x1 = y

x2 = y&

Posons
Il vient :

x&1 = y& = x2
x&2 =

r
d
u
x1 x2 +
m
m
m

L'quation d'tat est donc la suivante :


x&1
=
x&2

1 x1 0
0
r/m d/m x + 1/m u(t)
2

x
y = [1 0] 1
x2
RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

1.2.2. MISE EN EQUATION DE CIRCUITS ELECTRIQUES

L'nergie s'accumule dans les capacits et les inductances.


dv
Pour les capacits : Q = CV soit i = C C
dt
d
di
Pour les inductances : = LI soit vL =
=L
dt
dt
Aussi adopte-t-on les tensions aux bornes des capacits et les courants dans les inductances
comme variables d'tat.

a. Soit le filtre LRC suivant :

iL
L
inductance

vL

iC
+
u(t)

vC

vR

Gnrateur
de courant

Les quations sont

capacit

rsistance

dvC

iC = C dt = u (t ) iL

v = L diL = v Ri
C
L
L
dt

Si x1 = vC et x2 = i L lquation dtat est :


1 / C
x&1 0
1 / C x1
u (t )
=
+

1
/
/
L

R
L
x&2
x2
0
x
y = vR = [0 R ] 1
x2

b. Soit le filtre RC reprsent ci-dessous.


R2

R1
i2
+

u(t)

RE_chap1_gnralits
-

C2 R2 v2

Mis jour le 07/04/2006

i1

C1

v1

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

Le circuit tudi comporte 2 capacits. Il est donc d'ordre 2 et sera compltement reprsent
avec 2 variables d'tat.
dv i
La tension aux bornes d'une capacit est donne par
= .
dt c
On choisit les tensions aux bornes de C1 et de C2 comme variables d'tat :
x1 = v1 et

x2 = v 2

Pour trouver la reprsentation d'tat du circuit on applique le thorme de superposition.


L'quation d'tat est donne par :
x& = Ax + Bu

x&1 = a11x1 + a12 x2 + b1u

x&2 = a21x1 + a22 x2 + b2u

Nous tudierons successivement les 3 cas suivants :


Cas n 1 : x2 = 1 ; x1 = u = 0
Cas n 2 : x1 = 1 ; x2 = u = 0
Cas n 3 : u = 1 ; x1 = x2 = 0
Cas n 1 : x2 = 1 ; x1 = u = 0
R2

R1
i2

i1

+
1

i 2 = C 2 x&2 =
soit

v2

a12 =

Cas n 2 : x1 = 1 ; x2 = u = 0
R2

1
( R1 + R 2)
et a22 =
C1R1
C 2 R1R 2

i 2 = C 2 x&2 =

R1
i2

R1 + R 2
+1
et i1 = C1 x&1 =
R1R 2
R1

1
1
et i1 = C1 x&1 =
R1
R1

soit
i1

+
1

v2

a11 =

1
1
et a21 =
C1R1
C 2 R1

Cas n 3 : u = 1 ; x1 = x2 = 0
R2
i2

+
1

RE_chap1_gnralits
-

i 2 = C 2 x&2 =

R1
i1

1
R2

et i1 = C1 x&1 = 0

soit
b1 = 0 et b2 =

Mis jour le 07/04/2006

1
C 2R2

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

Soit en dfinitive :
1
1

C1R1 x1
x&1 C1R1

=
u (t )

x&2 1
x

R1 + R 2 2

R
2
C
2

C 2 R1
C 2 R1R 2

Application numrique :

R1 = 1/4 ; R2 = 1/8 ; C1 = 1 ; C2 = 2 (units rduites)


x&1 4 + 4 x1 0

=
+ .u (t )
2
6
+

&
x2 4
x2

c. Soit un filtre LC :
Il y a trois lments dynamiques qui stockent et restituent de l'nergie donc 3 variables d'tat.
On adopte le vecteur d'tat :
xT = [x1 x2 x3 ] = [i1 vc i 2]
La tension de sortie est prleve aux bornes de la capacit.
i2
i1

L1
+

inductance

L2
inductance

ic

+
e1

C R2

vc

e2

di
dv i
= et que pour une inductance v = L
on tablit les
dt
dt c
quations selon la mthode expose ci-dessus et l'on trouve le modle d'tat du circuit.

Sachant que pour une capacit

0
0
1/L1
0 1/L1
e1
d

[x(t)] = 1/C 0 1/C x(t) + 0


0
e2
dt
0 1/L 2
0
1/L 2
0
y(t) = [0 1 0]x(t)

1.2.3. MOTEUR A COURANT CONTINU COMMANDE PAR L'INDUIT

a. Modle du moteur courant continu command par linduit


Le fonctionnement de ce moteur a t dcrit dans le cadre du cours de Commande classique
des systmes linaires continus (Cf. module de cours Au 41).
RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

i(t)
r, l
Circuit lectrique
(r,l ) srie de linduit

e(t ) = k E

u(t)

Couple moteur

Cm (t ) = kci

Charge
dinertie
J

Force contre
lectromotrice
Induit

Cd (t ) = d
Couple de frottements visqueux

Effectuons la mise en quation de ce systme lectromcanique.


Loi d'Ohm applique l'induit

Force contre-lectromotrice

Transformation d'nergie

Relation fondamentale de la dynamique

u = ri + l

di
+e
dt

d
= k E
dt
Cm = k c i avec k E = k c = k
d
J
= C m d
dt
e = kE

On adopte comme variables d'tat les composantes de xT = [x1


obtient le systme d'quation d'tat suivant :
1
0

x& (t ) = 0 d / J
0 k / l

x2

x3 ] = [

i ] et l'on

0
0

k / J x(t ) + 0 u (t )
1 / l
r / l

y = [1 0 0] x(t ) + [0] u (t )

b. Modle simplifi du moteur command par l'induit


Considrons le moteur continu command par l'induit prsent ci-dessus et admettons les
hypothses simplificatrices l= d = 0. Les quations deviennent :
Loi d'Ohm applique l'induit

u = ri + e
: e = k d = k
dt
C
=
ki
:
m
d
: J
= Cm
dt

Force contre-lectromotrice
Transformation d'nergie
Relation fondamentale de la dynamique

La drive du courant i n'intervenant plus, le vecteur d'tat est compos de 2 variables.


x T = [x1
RE_chap1_gnralits
-

x2 ] = [ ]

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

k
d
d
u(t) k = J

R
dt
dt
Les quations ci dessus permettent de tracer le graphe de fluence suivant :

u(t)

k/rJ

x2

x2

1/p

x1

1/p

k2 /rJ
La manipulation des graphes de fluence s'apparente celle des diagrammes fonctionnels.
Lutilisation de ce type de schma permet didentifier rapidement les variables d'tat qui sont
les sorties des intgrateurs1. Cette remarque constitue une mthode d'obtention des quations
d'tat d'un systme quelconque. Dans le cas prcis du moteur il vient :
1
d x1 0
=

dt x2 0 1/

1.3.

x1 0
x + K/ u(t)
2

avec =

1
rJ
et K=
2
k
k

EQUATION DETAT DES SYSTEMES ECHANTILLONNES

Soit un systme linaire continu caractris par les quations :


x& = Ax + Bu
y = Cx + Du

Il s'agit d'tablir le modle reprsentant l'tat du systme aux instants d'chantillonnage kT :


xk +1 = Fxk + Huk
yk = Cxk + Duk

Il existe plusieurs mthodes pour obtenir la reprsentation d'tat d'un systme chantillonn.
En effet elle peut tre tablie partir :
de lquation d'tat initiale du systme continu correspondant,
d'une transforme en z,
d'une quation rcurrente.
A titre d'exemple considrons le moteur continu tudi au 1.2.3.b. La suite des commandes
u(kT) est fournie au moteur par un calculateur numrique travaillant la priode
d'chantillonnage T travers un convertisseur numrique analogique (CNA) (bloqueur d'ordre
zro de transmittance B0 ( p) .
T
u(kT)

m(t)

P(p)

(t)

Attention on verra plus loin que le choix des variables dtat nest pas unique.

RE_chap1_gnralits
-

B0(p)

(kT)

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

L'quation du moteur est donne par :


k
d
d
m(t) k = J

R
dt
dt

soit

m(t) =

d 2 1 d
+
K dt 2 K dt

Les variables d'tat continues sont : x1 = (t ) et x2 = &(t ) = (t )


Les variables d'tat discrtes sont x1,k = k et x2 ,k = &k = k
Soit kT t = kT + t ( k + 1)T

avec 0 t T

m(t ) = u( kT ) = uk

Calculons ( p) = L (t ) pour 0 t T linstant initial tant gal kT .


d 2 1 d
m(t ) =
+
K dt 2 K dt

( p ) =

uk
2
1
p p k k + [ p k ]
=
p K
K
Ku k

p 2 (1 + p )

k
k
+
p p (1 + p )

Dcomposons en lments simples et prenons la transforme inverse de chaque lment. Il


vient alors pour kT t (k + 1)T soit 0 t T :

t
t
(t ) = k + 1 Exp
u k
k + K t + Exp

t
t
(t ) = k .Exp
u k
+ K 1 Exp

En calculant la valeur de ces deux termes l'instant t = (k+1)T, c'est dire l'instant t = T
on obtient les lments ncessaires l'criture de l'quation d'tat du systme chantillonn.
Cette quation est la suivante :

1
k +1
=

k +1 0


T
T

K T + .Exp

k

uk
+

T
Exp
k K 1 Exp


1 Exp

Lquation d'tat ainsi obtenue est une quation discrte. Nous tudierons ultrieurement une
mthode plus systmatique pour obtenir le modle discret d'un systme continu command
travers un bloqueur d'ordre zro .
K = 1
1
et T = 1 seconde . Il vient :
Exemple : Soit le moteur tel que : P ( p ) =

p( p + 1) = 1 s
k +1 1 0,63 k 0,37
= 0 0,37 + 0,63 uk

k
k +1
RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

Fichier .m
%
%
%
%
%
%
%

10

Rsultats dans la fentre Matlab

RE_chap1_m1
--------------------REPRESENTATION D'ETAT
Exercice sur le chapitre 1
Cours ING2 - Au 43
Ralis par M. JL Cougnon
-------------------------

a=
clear all;clc;
% Valeurs des lments du moteur
a=[0 1;0 -1];b=[0;1];c=[1 0];d=0;
% Reprsentation d'tat du moteur %
% continu
moteur_c=ss(a,b,c,d);

0
0

1
-1

b=
0
1
c=
1

d=
0
% Reprsentation d'tat du moteur
% chantillonn pour T=1s
T=1;
moteur_d=c2d(moteur_c,T);
[ad,bd,cd,dd]=ssdata(moteur_d)

ad =
1.0000 0.6321
0 0.3679
bd =
0.3679
0.6321
cd =
1 0
dd =
0

Plus gnralement tout systme discret, toute fonction de transfert en z et donc toute loi de
commande implante dans le calculateur peuvent tre modliss par un systme d'quations
d'tat discrtes.
1.4.

DIFFERENTES FORMES DE LA REPRESENTATION DETAT


1.4.1. NON UNICITE DE LA REPRESENTATION D'ETAT

Les rsultats tablis dans ce paragraphe pour les systmes continus s&ppliquent videmment
les systmes discrets.
x& = Ax + Bu
Soit un systme continu caractris par les quations :
y = Cx + Du
et soit M une (nn)-matrice non singulire permettant le changement de base :
x
x = M~
~&
1
1
~
x = M AMx + M Bu
y = CM~
x + Du

RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

11

On obtient une nouvelle reprsentation pour le systme telle que :


~
~
~
x& = A~
x + Bu
~
y = C~
x + Du

avec les matrices

~
A
= M 1 AM
~
1
B = M B
~
C = CM

~ ~ ~ ~
On dit que les systmes S ( A, B, C ) et S ( A, B , C ) sont isomorphes.

Ainsi pour un systme dynamique continu ou discret il existe une infinit de


reprsentations dtat. La multiplicit des reprsentations d'tat n'est pas un inconvnient.
Elle doit tre perue comme un avantage ds lors qu'il est possible d'adopter la forme la
mieux adapte au problme traiter.
~ ~ ~ ~
Les systmes S ( A, B, C ) et S ( A, B , C ) ont mme polynme caractristique P.
~
~
PA = det( pI n A) = det( pMM 1 MA M 1 ) = det( M ( pI n A) M 1 )
~
PA = det M . det( pI n A). det M 1
PA = PA~

Remarque :
Dans MATLAB, la commande ss2ss permet de passer de la reprsentation dtat (a, b, c, d)
la reprsentation dtat tilde (at, bt, ct, dt) avec la matrice de transformation T = M 1 .
En effet cette commande prend en compte la notation ~
x = Tx et non celle du cours x = M~
x

>> [at,bt,ct,dt]=ss2ss(a,b,c,d,inv(M))
1.4.2. DIAGONALISATION DE LA MATRICE A

L'quation det( I n A) = 0 est l'quation caractristique de la matrice A.


Les racines i de cette quation sont les valeurs propres de la matrice A. L'quation
caractristique admet n valeurs propres.
Le nombre n0 de racines i = 0 correspond la dfection du rang de la matrice. Ainsi le
rang r de la matrice est r = rangA = n n0 .
Les vecteurs propres vi associs la (nn)-matrice carre A sont solution de l'quation :
Avi = i vi avec i = valeur propre = racine de l' quation det ( I n A) = 0

vi associ la valeur propre i est colonne de la matrice P( i ) = adj( I n A) =i

En supposant que les valeurs propres de A soient distinctes, les vecteurs propres associs
le sont aussi. A partir de ces n vecteurs propres il est possible de construire une (nn)matrice (carre) M non singulire appele matrice modale du systme.
M = [v1
Avi = i vi aussi

v2

... v n ]

AM = M

avec

= diag[i ]

~
A = M 1 AM =
RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

12

Ainsi :
Am = MM 1.MM 1.MM 1....MM 1 = Mm M 1 avec m = diag im
A1 = M1M 1

[ ]

avec 1 = diag[1/i ]

De mme :

Exp[ At ] = I + At + A2

t2
tk
+ ..... + Ak + ....
2
k!

Exp[ At ] = MIM 1 + MM 1t + M2 M 1
Exp[ At ] = M .Exp[t ].M 1 avec

t2
tk
+ ... + Mk M 1 + ....
2
k!

[ ]

Exp[t ] = diag e i t

On peroit l'intrt de ce changement de base pour la rsolution des quations d'tat.


Exemple : traitons le circuit lectrique du 1.2.2.b.
x&1 4 + 4 x1 0

=
+ u (t )
2
6
+

&
x2 4
x2

Calculons les valeurs propres donnes par det( I n A) = 0 .


det( I n A) = 2 + 10 + 16 = ( + 2)( + 8)
soit

1 = 2 et

2 = 8

Calculons les deux vecteurs propres associs.


4
+ 6
adj( I n A) =
+ 4
2
2
4 4
adj( I n A) = 2 =
v1 =

1
2 2

1
2 4
adj( I n A) = 8 =
v2 =

1
2 4

La matrice de transformation est donne par :


2 1
1 1 1
M = [v1v2 ] =
M 1 =

3 1 2
1 1

et

2 0
=

0 8

Ainsi il vient :
~
x&1 2 0 ~
x1 + 4 / 3
u (t )
=
+

0 8 x
~
&
2 8 / 3
x2

RE_chap1_gnralits
-

Mis jour le 07/04/2006

~
x
y = [2 1] 1

~
x2

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

13

1.4.3. FORMES DE JORDAN DE LA MATRICE A

Lorsque les valeurs propres sont multiples ont peut trouver une forme canonique de la
reprsentation d'tat appele forme de JORDAN.
Soit une matrice A admettant un ple triple 1 et deux ples simples 4 et 5 on peut crire
l'quation d'tat sous la forme canonique suivante appele matrice de JORDAN :
1
0

~
x& = 0

0
0

1
1

0
0

0
0

1
1
0

0
4

0
0

0
0
1

x + 1 u o apparat un bloc de JORDAN J 1 = 0
0 ~


0
0
1
1
5

J1
0
La forme gnrale de la matrice de JORDAN est la suivante :
...

0
Les proprits de cette matrice sont :

Jm

J1m

0
=
...

0
J 2m
...
0

0 0

0 0
... ...

0 J km

et

0
J2
...
0

1
1
0

0
1
1

0 0
0 0

... ...

0 Jk

Exp( J t )
0
0
0
1

Exp( J 2 t ) 0
0
0

Exp[Jt ] =
...
...
...
...

0
0
0 Exp( J k t )

On dtermine la matrice de passage M partir des vecteurs propres vi de la faon suivante.


Soit M = [v1 v2 ... vn ]
Le vecteur propre vi , associ la valeur propre

i d'ordre un, est une colonne de la matrice :

P( i ) = adj( I n A) =

S'agissant des valeurs propres d'ordre multiple, on fait suivre la colonne obtenue comme cidessus de colonnes gales aux colonnes de mme rang des matrices :
d

d P( )
=

d2

2 P ( )
d

....
= i

Exemple :
5 4 0
A = 0 1 0
4 4 1

RE_chap1_gnralits
-

det( I n A) = ( 5)( 1) 2 ; la valeur propre 1 est double.

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

14

>>A=[5 4 0;0 1 0;-4 4 1];


>>p=poly(A)
% dtermination du polynme caractristique de A
p=
1 -7 11 -5
>>lambda=roots(p)
% calcul des valeurs propres
lambda =
5.0000 1.0000 + 0.0000i 1.0000 - 0.0000i
0
5 4

1 0
I A = 0
4
4 1

( 1) 2
0
4( 1)

; P( ) = 4( 1) ( 1)( 5) 4( 5) 16
0
0
( 1)( 5)

( 1) 2

4( 1)
0

0
0
( 1)( 5)
P( ) =

4( 1) 4( 5) 16 ( 1)( 5)

0
0
0

0
0
P (1) = 0
0 32 0

0
v1 = 0
32

On a retenu la colonne 2.

4
0
2( 1)
dP( )
= 0
(2 6)
0
d
4
4
(2 6)
4
0
4
0
dP( )

= 0
4 0 v2 = 4
d

=1
4
4 4 4

Pour les deux premires colonnes de M on adoptera :


4
0
0
4

32 4

ou encore

16 16 0
P(5) = 0
0 0
16 16 0
La matrice de passage est donc :

1
0
0 1

8 1

16
v 3 = 0
16

0 1 1
M = 0 1 0
8 1 1

Notons que cette matrice n'est pas unique. Vrifions ce rsultat :


M

0,125 0,250 0,125


= 0
1
0
1
1
0

RE_chap1_gnralits
-

et

J=M

Mis jour le 07/04/2006

1 1 0
AM = 0 1 0
0 0 5

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

1.5.

15

REPRESENTATION DETAT ET MATLAB


1.5.1. CAS DES SYSTEMES CONTINUS

Soit le moteur lectrique courant continu modlis au 1.2.3.b.


Fichier .m
%
%
%
%
%
%
%

Rsultats dans la fentre Matlab

RE_chap1_m2
--------------------REPRESENTATION D'ETAT
Exercice sur le chapitre 1
Cours ING2 - Au 43
Ralis par M. JL Cougnon
--------------------------

a=
clear all;clc;
% Valeurs des lments du moteur
r=2;l=0.5;k=0.015;d=0.2;J=0.02;
% Reprsentation d'tat du moteur
a=[0 1 0;0 -d/J k/J;0 -k/l r/l];b=[0;0;1/l];c=[1 0 0];d=0;
% Sortie = l'angle de rotation tta
moteur_dc=ss(a,b,c,d)
% Le systme (a,b,c,d) porte le nom
% de moteur_dc

x1
x2
x3
b=

x1 x2 x3
0
1
0
0 -10 0.75
0 -0.03 -4

u1
x1 0
x2 0
x3 2
c=
x1 x2 x3
y1 1 0 0
d=
u1
y1 0
Continuous-time model.

% Calcul de la FT (tf_moteur_dc)
% sous forme d'un quotient de 2
% polynmes
tf_moteur_dc=tf(moteur_dc)

Transfer function :
1.5
---------------------------s^3 + 14 s^2 + 40.02 s

% Calcul de la FT (zpk_moteur_dc)
% sous la forme de Evans
% (zros, ples, facteur de gain)
zpk_moteur_dc=zpk(moteur_dc)

Zero/pole/gain:
1.5
--------------------------s (s+9.996) (s+4.004)

% Calcul du polynme caractristique


% de a = dnominateur de la FT
polcar=poly(a)

polcar =
1.0000 14.0000 40.0225

% Calcul des racines de polcar


% (modes du moteur = ples de la FT)
lambda1=roots(polcar)

lambda1 =
0
-9.9962
-4.0038

% Calcul des valeurs propres de a =


% modes du moteur = ples de la FT
lambda2=eig(a)

lambda2 =
0
-9.9962
-4.0038

% Calcul des vecteurs propres


% pour obtenir Mm1 = inverse de M
[M,matdiag1]=eig(a)

M=
1.0000 0.0995 0.0310
0 -0.9950 -0.1241
0 -0.0050 -0.9918

RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

16

matdiag1 =
0
0
0
0 -9.9962
0
0
0 -4.0038
Mm1 =
1.0000 0.0999 0.0187
0 -1.0056 0.1258
0 0.0050 -1.0089

% On vrifie que la matrice M


% permet la diagonalisation
Mm1=inv(M)
matdiag2=Mm1*a*M

matdiag2 =
0 -0.0000 -0.0000
0 -9.9962 0.0000
0 -0.0000 -4.0038
% On recherche le systme isomorphe
% obtenu dans la base M
[at,bt,ct,dt]=ss2ss(a,b,c,d,inv(M))

at =
0 -0.0000 -0.0000
0 -9.9962 0.0000
0 -0.0000 -4.0038
bt =
0.0375
0.2516
-2.0178
ct =
1.0000 0.0995
dt =
0

0.0310

1.5.2. CAS DES SYSTEMES ECHANTILLONNES


Soit le moteur continu simplifi, tudi en 1.2.3.b, de transmittance :

P( p) =

K = 1
1

p( p + 1)
= 1 s

Dterminons le modle numrique de ce moteur lorsquil est command par une squence de
commandes issues dun calculateur et appliques travers un bloqueur dordre 0. La priode
dchantillonnage est gale 1 seconde.
On obtient une reprsentation dtat du systme continu par la commande tf2ss .
Fichier .m
%
%
%
%
%
%
%

RE_chap1_m3
----------REPRESENTATION D'ETAT
Exercice sur le chapitre 1
Cours ING2 - Au 43
Ralis par M. JL Cougnon
--------------------------

clear all;clc;
nc=[1];dc=[1 1 0];
tf_sys=tf(nc,dc)

RE_chap1_gnralits
-

Rsultats dans la fentre matlab

Transfer function:
1
--------s^2 + s

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

a=
-1
1
b=
1
0
c=
0
d=
0

% Calcul dune reprsentation


% d'tat du systme continu
[a,b,c,d]=tf2ss(nc,dc)

% Reprsentation du systme
% chantillonn avec un bloqueur
% d'ordre zro et T=1s.
T=1;
[ad,bd]=c2d(a,b,T)

17

0
0

ad =
0.3679
0.6321
bd =
0.6321
0.3679

0
1.0000

Evidemment cd=c et dd=d.

RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

18

ANNEXE 1.1.
Rappels de calcul matriciel

1. Matrices et vecteurs

On appelle (mn)-matrice une matrice comportant m lignes et n colonnes. On note :


a11
a
21
A=
...

am1

a12
a22
...
am 2

a1n
... a2 n
= aij
... ...

... amn
...

[ ]

Si m = n la matrice est dite carre (square matrix). Elle est rectangulaire dans le cas
contraire.

[ ] [ ]

Deux (mn)-matrices A et B sont gales si les lments aij = bij i et j.


Une matrice dont tous les termes sont nuls est appele matrice nulle et note 0.
Si tous les termes dune matrice carre sont nuls lexception de ceux situs sur la
diagonale principale, la matrice est dite diagonale (diagonal matrix).
Si tous les termes dune (nn)-matrice diagonale sont gaux 1 la matrice est dite
identit (identity matrix). Elle est note I n .
Une matrice admettant une seule colonne et n lments est appele un n-vecteur.
x1
x
On note x = 2
...

xn

Une matrice admettant une seule ligne de n lments est appele n-vecteur ligne (row
vector).
On note x = [x1

x2

... x n ]

Deux vecteurs sont gaux si leurs composantes respectives sont gales.


Lorsque les lments dune matrice ou dun vecteur sont fonction du temps on note la
matrice A(t ) et la vecteur x(t ).
La drive par rapport au temps dune matrice ou dun vecteur est une matrice ou un
vecteur dont les lments sont gaux la drive par rapport au temps de chacun des
lments de la matrice ou du vecteur driver.
dA(t ) daij (t )
dx(t )
A& (t ) =
=
= [x&i (t )]
et x& (t ) =
dt
dt
dt

RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

19

Soit un m-vecteur y dont les composantes sont fonction des composantes du n-vecteur x,
fonction des composantes du r-vecteur u et du temps t, soit :
y1 = f1 ( x1 , x2 ,..., xn ; u1 , u 2 ,..., u r ; t )
y 2 = f 2 ( x1 , x2 ,..., xn ; u1 , u 2 ,..., u r ; t )
.....................................................
y m = f m ( x1 , x2 ,..., xn ; u1 , u 2 ,..., u r ; t )

On crit aussi de manire plus compacte : y = f ( x, u, t )

2. Matrice transpose et matrice symtrique

La transpose AT dune (mn)-matrice A est une (nm)-matrice obtenue en permutant le rle


des lignes et des colonnes de A. On note :

[ ]T = [a ji ]

AT = aij
xT = [x1

x2 ... xn ]

Une matrice carre qui vrifie AT = A est dite symtrique . On vrifie que :

aij = a ji pour i et j = 1, 2, , n.
De plus :
T

T
t1
t1 T
d T
dx

= ( x ) et A(t )dt = A (t )dt


t0
dt
t0

dt

3. Addition et produits de matrices et de vecteurs

On peut additionner ou soustraire 2 (mn)-matrices.

[C ] = [A] [B] = [cij ] = [aij ] [bij ]

On peut multiplier 2 matrices A et B.


Soit une (mn)-matrice A et une (nr)-matrice B, la matrice C, produit de A par B, est une (mr)matrice.

m
C = AB avec cij = aik bkj
k =1

[ ]

Si A et B sont deux (nn)-matrices (carres) en gnral AB BA . Le produit de deux matrices


nest pas communtatif.
Le produit dune (mn)-matrice A par un n-vecteur x est un m-vecteur y tel que :
n

y = Ax = [ yi ] = aij xi
j =1

RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

20

On dduit aisment les rgles donnant la transpose dune somme ou dun produit de
matrices.

Matrice

Vecteur

( A B)T = AT B T

( x y )T = x T y T

(kA)T = kAT = AT k

(kx)T = kxT = xT k

k C

k C

( AB)T = BT AT

( Ax)T = xT AT

4. Drivation des matrices

Etablissons les rgles de diffrentiation des produits de matrices et de vecteurs.

d
[A(t ) B(t )] = A(t ) B& (t ) + A& (t ) B(t )
dt
d
[A(t ) x(t )] = A(t ) x& (t ) + A& (t ) x(t )
dt

d
[A(t ) B(t )]T = BT (t ) A& T (t ) + B& T (t ) AT (t ) = d [A(t ) B(t )]
dt

dt

Soit un (nn)-matrice A(t). On peut crire :

d
d
A(t ) A1 (t ) = [I n ] = A(t ) A& 1 (t ) + A& (t ) A1 = 0
dt
dt

d 1
A (t ) = A1 (t ) A& (t ) A1
dt
5. Produit scalaire (inner product)

Le produit scalaire (ou produit intrieur) de 2 vecteurs est dfini par :


n

xT y = xi yi
i =1

xT y = yT x = ( xT y )T = ( yT x)T

Si xT y = 0 on dit que les 2 vecteurs sont orthogonaux.


Si x = y il vient :
n

xT x = xi2 0
i =1

Si x reprsente un vecteur dans un espace euclidien n dimensions, xT x est gal au carr


RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

21

du module de ce vecteur.

Si x et y sont deux n-vecteurs, ( x y ) reprsente le vecteur reliant lextrmit du vecteur


y celle du vecteur x et ( x y )T ( x y ) est gal au carr de la distance entre ces 2
extrmits.
Le produit extrieur de deux n-vecteurs x et y est donn par :
x1 y1
x y
2 1
xyT =
...

xn y1

x1 y2
x2 y2
...

xn y2

x1 yn
... x2 yn
... ...

... xn yn
...

xxT est une matrice symtrique.


6. Dterminant et matrice inverse

Le dterminant dune matrice carre est dfini par :


n

det( A) = A = aij (1)i + j det( M ij )


i =1

M ij est le dterminant de la matrice de dimension (n 1) obtenue en supprimant de la


matrice A la ligne et la colonne lintersection desquelles se trouve llment aij .

Le scalaire ij = (1)i + j det(M ij ) est le cofacteur de aij .


Le scalaire det(M ij ) est le mineur de aij .

[ ] [ ]T

La (nn)-matrice (carre) ji = ij

est dite matrice adjointe de A.

[ ]

Elle est note ji = adj( A)


Rappelons quelques rgles de calcul dun dterminant :
Si tous les lments dune ligne ou dune colonne sont nuls A = 0

A = AT

Si les lments correspondants de 2 lignes ou de 2 colonnes de A sont gaux ou multiples


dun mme coefficient alors A = 0 .
Si les lments dune ligne ou dune colonne de A sont additionns llment dune autre
ligne ou colonne de A, la valeur de A est inchange.
Soit 2 (nn)-matrices A et B alors AB = A B .

Linverse dune matrice carre est donn par :


RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

A 1 =

22

adj( A)
det( A)

Si det( A) = 0 linverse de A nexiste pas on dit que la matrice est singulire. Si A est
inversible, la matrice est dite rgulire.

( AT ) 1 = ( A1 )T

( AB ) 1 = B 1 A1

A 1 = 1 / A

[A ] = [A ]
1 T

T 1

Si AT = A1 la matrice carre A est dite orthogonale.

d 1
A = A1 A& A1 car AA1 = I AA& 1 + A& A1
dt

( A + BCD ) 1 = A1 A1B (C 1 + DA1B ) 1 DA1

7. Rang (rank) dune matrice

Cest la dimension du plus grand dterminant non nul que lon peut extraire dune matrice en
supprimant lignes et colonnes.
Le rang dune (mn)-matrice A est la dimension de la plus grande matrice carre non singulire
que lon puisse former dans A en supprimant des lignes et des colonnes.
Le rang dune matrice est gal au plus petit nombre des lignes ou colonnes linairement
indpendantes.
Une (nn)-matrice A est non singulire si et seulement si son rang est gal sa dimension n.
8. Valeurs propres (eigenvalues) et vecteurs propres (eigenvectors)

Ces notions jouent un rle important dans le domaine de la commande des systmes
dynamique.
Les valeurs propres de la (nn)-matrice A sont les racines de son polynme caractristique :
PA ( ) = det( A I n ) = 0
Le vecteur propre xi associ la valeur propre i de la (nn)-matrice A est un n-vecteur tel
que :
i xi = Axi
Si la matrice A est symtrique les valeurs propres sont relles et les vecteurs propres sont
orthogonaux.

RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

23

9. Thorme de Cayley-Hamilton

Lquation caractristique de la (nn)-matrice A est


det(I n A) = n + 1n 1 + ... + n = 0
Le thorme nous indique que A est racine de son quation caractristique :
A n + 1 A n 1 + ... + n I n = 0
10. Trace dune matrice

La trace de A est gale la somme des termes de la diagonale principale :


n

tr ( A) = aii
i =1

On dmontre que :
n

i =1

i =1

i =1

A = i ( A) et que tr ( A) = aii = i ( A)

Autres proprits de la trace dune matrice :


tr ( A + B) = tr ( A) + tr ( B)
tr ( ABC ) = tr ( BCA) = tr (CAB)
Remarque : la norme euclidienne dun n-vecteur x est donne par :
n

x x = trace( xx ) = xi2
T

i =0

11. Formes quadratiques (quadratic forms)

A tant une (nn)-matrice et x un n-vecteur on montre que :


n

f ( x) = xT Ax = aij xi x j
i =1 j =1

Ce produit est naturellement un scalaire.


Si aij a ji , la forme quadratique est inchange si on remplace la matrice A par la matrice
aij + a ji

. On peut donc toujours considrer que la matrice A est symtrique.


2

xT Ax =

1
x A + AT xT
2

Une matrice relle symtrique est diagonalisable et la matrice de passage (diagonalisante) P


est orthogonale :
P T = P 1
P 1 AP = posons x * = P 1 x = P T x
f ( x) = x T Ax = x T P ( P T AP ) P T x = x *T x *
RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

24

Si le signe de f (x) dpend de x, f (x) est dite non dfinie.


f ( x) > 0 x 0
Si
on dit que la forme quadratique est dfinie positive.
f
(
x
)
0
x
0
=

Plus communment on dit que la matrice A est une matrice dfinie positive.

f ( x) 0 x 0

Si
la matrice A est dite semi-dfinie positive
f ( x) = 0 possible avec xi non tous nuls
ou dfinie non ngative.
Dans les autres cas la matrice A est dite dfie ngative ou dfinie non positive.
On montre que si f ( x) = xT Ax alors

f
= 2 Ax
x

Lexpression z = xT Ay est dite forme bilinaire (bilinear form) et on vrifie que :


z
z
= 2 Ay et que
= 2 AT x
y
x
Si pour tout x 0 la forme quadratique f ( x) = xT Ax > 0 cette forme est dite dfinie positive.
La forme quadratique est dfinie positive si A a toutes ses valeurs propres sont > 0 .
Elle est semi dfinie positive si et seulement si les valeurs propres de A sont 0 .
Pour que A soit dfinie positive on peut montrer quil ncessaire et suffisant que les
a
a21
, ..., A , soient positifs.
principaux mineurs de A, i.e. a11 , 11
a12 a22
Il en rsulte que si A est dfinie positive A > 0 A est non singulire.
12. Oprations sur les matrices blocs

Soit deux matrices ayant une partition en blocs identique :


A B
E
M =
et
N
=

G
C D

F
on montre les rsultats suivants.
H
T

AT
A B
=
=
T

B
C D

A B E
C D + G


A B E
C D .G

RE_chap1_gnralits
-

F A + E
=
H C + G

CT

D T
B+F
D + H

F AE + BG AF + BH
=
H CE + DG CF + DH

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

25

Formule dinversion de Frobenius-Schur :


A B
C D

F
H

E
=
G

E = A1 + A1BHCA1
F = A1BH
G = HCA1

H = D CA1B

Formule dinversion de Sherman-Morrison-Woodbury :

[A + BC ]

T 1

= A1 A1B I + C T A1B

1 T

C A1

Formule dinversion de Hemes :

[A + BC

DT

= A 1 A 1 B C + D T A 1 B

[A + BCD ]1 = A1 A1B[C 1 + DA1B ]

D T A 1

DA 1

13. Fonction exponentielle

La fonction exponentielle dune matrice est dfinie par :


eA =

Ak

k = 0 k!

Quelques proprits de la fonction exponentielle :


e 0n = I n

e I n = eI n

eA = eA

[ ]
d [e ]
= Ae
T

At

At

= e At A

dt
Les vecteurs propres de A sont vecteur propres de e A
Si est valeur propre de A alors e est valeur propre de e A

14. Transformation similaire

Soit A une (nn)-matrice et M une (nn)-matrice non singulire. On appelle transformation


similaire de la (nn)-matrice A, lexpression ( M 1 AM ) .
Cette transformation est utilise pour les fonctions analytiques de matrices :
f ( A) =

mk Ak

k =0

RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

1. Reprsentation dtat des systmes linaires continus et discrets.

26

En effet :
f ( M 1 AM ) =

1
1
1
k
k

m
(
M
AM
)
=
M
m
A
k
k M = M f ( X )M
k =0
k =0

Ainsi, si les valeurs propres de X sont distinctes :


( M 1 AM ) = diag [i ]

f ( M 1 AM ) = diag [F (i )]
f ( A) = Mdiag [F (i )]M 1

15. Oprations analytiques sur les matrices

Soit une valeur scalaire f ( x) = f ( x1, x2 ,..., xn ) fonction du n-vecteur x.


On dfinit le gradient de la fonction f ( x) par le n-vecteur
f f
f
f
= f x ( x) =
...

x
x1 x2 xn

On dfinit la matrice des drives secondes ou Hessien par :


2 f
Fxx ( x) =

xi x j
f ( x ) = g ( x ) + h( x )

f x ( x ) = g x ( x ) + hx ( x )

f ( x) = a T x

f x ( x) = a et Fxx ( x) = 0

f ( x) = x T Ax (A symtrique)

f x ( x) = 2 Ax et Fxx ( x) = A

f ( x) = x T Ay (A symtrique)

f x ( x) = Ay et f y ( x) = AT x

RE_chap1_gnralits
-

Mis jour le 07/04/2006

Cours de M. Cougnon JL

Vous aimerez peut-être aussi