Vous êtes sur la page 1sur 32

Introduction

MATLAB et S IMULINK

Un guide pour les lves


de lcole Nationale Suprieure
dIngenieurs Electriciens de Grenoble

Paolino Tona
Laboratoire dAutomatique de Grenoble

Ce document couvre les aspects principaux du logiciel MATLAB et de son extension SIMULINK.
Il a t labor partir de lhomonyme guide prpar par
Hoang Le-Huy, Professeur lUniversit Laval, Quebec, Canada.
Par rapport au document du Prof. Le-Huy quon peut tlcharger lURL
http://www.gel.ulaval.ca/~lehuy/intromatlab
ce guide propose une mise jour (version 5.3 de MATLAB et
3.0 de S IMULINK), des corrections et du nouveau matriel.
Plus particulirement, une annexe sur la C ONTROL S YSTEM
T OOLBOX a t ajoute. Pour la prparation de cette annexe,
le Tutorial for Control System Toolbox de Finn Haugen
(Telemark College, Porsgrunn, Norvge), sest avr trs utile.
Ce dernier document peut tre consult lURL :
http://www-pors.hit.no/~finnh/contoolb.html
Commentaires et suggestions sont les bienvenus ladresse
ml :
Paolino.Tona@lag.ensieg.inpg.fr

P.Tona - Introduction MATLAB et S IMULINK

Table des matires


Introduction MATLAB
Introduction MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Une session de travail MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
2
3

Oprations mathmatiques
Nombres et oprations arithmtiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vecteurs et matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7
7
7
10

Graphiques
Introduction . . . . . . . . . . . . . . . . . . .
Graphiques 2D . . . . . . . . . . . . . . . . . .
Graphiques 3D . . . . . . . . . . . . . . . . . .
Impression et enregistrement de graphiques .
Nouvelles fonctionnalits . . . . . . . . . . .

.
.
.
.
.

12
12
12
14
15
15

.
.
.
.

16
16
16
17
18

Introduction S IMULINK
Dmarrer S IMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Construction dun diagramme S IMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulation dun diagramme S IMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19
19
20
21

La C ONTROL S YSTEM T OOLBOX


Introduction . . . . . . . . . . . . . . .
Reprsentation des systmes linaires
Outils danalyse . . . . . . . . . . . . .
Outils de synthse . . . . . . . . . . . .

23
23
23
28
30

Programmation avec MATLAB


Communication avec lutilisateur
Contrle de lexecution . . . . . .
Fichiers M . . . . . . . . . . . . .
Programmation oriente-objets .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

Introduction MATLAB
Introduction MATLAB
MATLAB
est un logiciel de calcul matriciel syntaxe simple ;
peut tre considr comme un langage de programmation adapt pour les problmes scientifiques,
grce ses fonctions spcialises ;
est un interprteur, car ses instructions sont interprtes et excutes ligne par ligne ;
possde des bonnes capacits graphiques pour prsenter des rsultats ou pour crer des applications ;
peut tre intgr avec du code C ou F ORTRAN ;
fonctionne dans plusieurs environnements tels que UNIX/X-Windows, Windows, Macintosh.

Blockset
Blockset
Blockset
Blockset
Blockset
Fichiers MDL

S IMULINK

Fichiers MEX
Toolbox
Toolbox
Toolbox
Toolbox
Toolbox
M ATLAB

Fichiers M
Fichiers P
Fentre
Graphique

GUI

Fentre de
Commande
Fentre
Graphique
Fentre de Commande : dans cette fentre, lutilisateur donne les instructions et MATLAB retourne les
rsultats ;
Fentres Graphiques : MATLAB trace les graphiques dans ces fentres ;
Fichiers M : ce sont des programmes en langage MATLAB (crits par lutilisateur) ;
Fichiers P : version pr-interprte des fichiers M ;

UNE SESSION DE TRAVAIL MATLAB


Toolboxes : ( botes outils) ce sont des collections de fichiers M dvelopps pour des domaines dapplication spcifiques (S IGNAL P ROCESSING T OOLBOX, S YSTEM I DENTIFICATION T OOLBOX, C ONTROL
S YSTEM T OOLBOX, -S YNTHESIS AND A NALYSIS T OOLBOX, R OBUST C ONTROL T OOLBOX, O PTIMI ZATION T OOLBOX , N EURAL N ETWORK T OOLBOX, S PLINE T OOLBOX, S YMBOLIC M ATH T OOLBOX,
F UZZY L OGIC T OOLBOX, etc.) ;
Simulink : cest lextension graphique de MATLAB permettant de travailler avec des schma en blocs,
pour modliser et simuler des systmes ;
Blocksets : ce sont des collections de blocs S IMULINK dvelopps pour des domaines dapplication spcifiques (DSP B LOCKSET, P OWER S YSTEM B LOCKSET, etc.)
Fichiers MDL : ce sont des fichiers reprsentant des modles S IMULINK ;
Fichier MEX : modules executables crs partir de sources en C ou F ORTRAN ;
GUI : interface graphique utilisateur pour crer des applications bases sur MATLAB ;
En MATLAB, il existe deux modes de fonctionnement :
mode interactif : MATLAB excute les instructions au fur et mesure quelles sont donnes par lutilisateur.
mode excutif : MATLAB excute ligne par ligne un programme en langage MATLAB crit dans un
fichier M (ou P), ou un fichier excutable MEX.

Une session de travail MATLAB


Dmarrer MATLAB
Pour activer la Fentre de Commande MATLAB
sous UNIX : dans une fentre cmdtool, taper matlab ;
sous W INDOWS : cliquer sur licne Matlab sur le bureau ou dans le groupe Matlab du menu Dmarrer/Programmes .
Dans la Fentre de Commande, linvit de commande permet de taper les instructions une ligne
la fois, chaque ligne etant excute immdiatement aprs la touche Entre (ou Return ). Les instructions
de contrle (for , while , if : : : else ), aussi bien que le dfinitions de matrices et vecteurs peuvent
prendre plusieurs lignes, avec une excution diffre. Une ligne peut contenir plusieurs instructions spares par des virgules (, ).

Aide
Pour obtenir de laide sur un sujet, une instruction ou une fonction, on tape help suivi par le sujet,
linstruction ou la fonction dsire (en minuscule ! ! !).
Exemple
help log10
LOG10 Common (base 10) logarithm.
LOG10(X) is the base 10 logarithm of the elements of X.
Complex results are produced if X is not positive.
See also LOG, LOG2, EXP, LOGM.

P.Tona - Introduction MATLAB et S IMULINK

UNE SESSION DE TRAVAIL MATLAB


Dautres commandes utiles sont :
helpwin
accder laide travers une fentre de navigation
helpdesk
accder la documentation MATLAB
lookfor xyz chercher la chane de caractres xyz dans les descriptions des toutes les
fonctions disponibles
demo
lancer les demos MATLAB

Commandes systme
pwd
cd
dir, ls
mkdir
delete
copyfile

nom du rpertoire courant


changer de rpertoire
contenu du rpertoire courant
crer un nouveau rpertoire
effacer un fichier
copier un fichier

Variables et espace de travail (Workspace)


En MATLAB il ny a pas dinstructions pour dclarer ou dimensionner une variable. Une nouvelle
variable est dfinie en donnant son nom et sa valeur numrique
ts=0.03
ts =
0.0300
C=[1 1 0 0]
C =
1

ou son expression mathmatique


ws=2*pi/ts
ws =
209.4395

Si la variable existe dj, MATLAB en change le contenu, et, si ncessaire, alloue plus de place en
mmoire
C = [1 2 3; 4 5 6; 7 8 9]
C =
1
4
7

2
5
8

3
6
9

Les variables ainsi dfinies sont stockes dans lespace de travail et peuvent tre utilises dans les
calculs subsquents.

P.Tona - Introduction MATLAB et S IMULINK

UNE SESSION DE TRAVAIL MATLAB


AFFICHAGE
Pour afficher la valeur dune variable il suffit de taper son nom
ts
ts =
0.0300

Le rsultat dune instruction est affich par dfaut. Si lon veut que linstruction soit excute sans
afficher de rsultat, il faut ajouter ; la fin de la ligne
ws=2*pi/ts;

CLASSES
Par la syntaxe introduite ci-dessus, MATLAB dfinit des variables qui appartiennent la classe double array , cest dire des tableaux de rels qui peuvent correspondre des scalaires, des vecteurs ou
des matrices. Mise part cette classe fondamentale, il faut signaler quil existe dautres classes MATLAB
pr-dfinies. La plus importante est certainement char array , laquelle appartiennent les chanes de
caractres, dfinies en utilisant
hi = salut
hi =
salut

INFORMATION SUR LESPACE DE TRAVAIL


who
affichage des variables dans lespace de travail
whos affichage dtaill des variables dans lespace de travail
Exemples
who
Your variables are:
C

hi

ts

ws

whos
Name
Size
Bytes
Class
C
3x3
72
double array
hi
1x5
10
char array
ts
1x1
8
double array
ws
1x1
8
double array
Grand total is 16 elements using 98 bytes

EFFACER DES VARIABLES DE LESPACE DE TRAVAIL


clear var1 var2 effacer les variables var1 et var2
clear (all)
effacer toutes les variables

P.Tona - Introduction MATLAB et S IMULINK

UNE SESSION DE TRAVAIL MATLAB


ENREGISTRER DES VARIABLES DANS UN FICHIER
Pour enregistrer les variables de lespace de travail dans un fichier, on utilise les instructions suivantes :
enregistrer toutes les variables dans un fichier matlab.mat
ramne les variables enregistres dans le fichier matlab.mat
dans lespace de travail
save fichier1.mat x Y z enregistrer les variables x, Y, z dans un fichier fichier1.mat
load fichier1
ramne les variables enregistres dans le fichier fichier1.mat
dans lespace de travail
save
load

Clore une session de travail


Pour clore une session de travail, taper quit.

P.Tona - Introduction MATLAB et S IMULINK

Oprations mathmatiques
Nombres et oprations arithmtiques
Nombres
Les nombres rels peuvent tre sous diffrents formats :
5

1.0237

0.5245E-12

12.78e6

0.001234

-235.087

Les nombres complexes peuvent tre crits sous forme cartsienne ou polaire :
forme cartsienne 0.5 + i*2.7

-1.2 + j*0.789

2.5 + 9.7i

forme polaire 1.25*exp(j*0.246)

Formats daffichage
Pour choisir le format daffichage pour les nombres, on utilise linstruction format :
format
format
format
format
format

short
long
short e
long e
hex

0.1234 (format par dfaut)


0.12345678901234
1.2341E+002
0.123456789012345E+002
ABCDEF0123456789

Oprations arithmtiques
Addition
Soustraction
Multiplication
Division droite
Division gauche
Puissance

+
*
/

En demandant laide sur lun de ces oprateurs


help +

ou
help /

on obtient la liste de tous les oprateurs (arithmtiques et non) disponibles.

Vecteurs et matrices
Vecteurs
On peut dfinir un vecteur x en donnant la liste de ses lments :
7

VECTEURS ET MATRICES

x=[3 0.15 -1.5 2.42 -0.42]


x =
3.0000

0.1500

-1.5000

2.4200

-0.4200

2.5000

3.0000

ou en donnant la suite qui forme le vecteur :


x=1:0.5:3
x =
1.0000

1.5000

2.0000

ou en utilisant une fonction qui gnre un vecteur espacement linaire :


x=linspace(1,10,6)
x =
1.0000

2.8000

4.6000

6.4000

4.6416

10.0000

8.2000

10.0000

ou exponentiel :
x=logspace(0,2,7)
x =
1.0000

2.1544

21.5443

46.4159

100.0000

Matrices
On dfinit une matrice A en donnant ses lments :
A=[0.3 2.7 4.1;3.1 -0.74 2.1;6.7 -4.3 -2.1]
A =
0.3000
3.1000
6.7000

2.7000
-0.7400
-4.3000

4.1000
2.1000
-2.1000

Matrice unitaire :
B=eye(4)
B =
1
0
0
0

0
1
0
0

0
0
1
0

0
0
0
1

Emploi des indices


Les lments dun vecteur ou dune matrice peuvent tre adresss en utilisant les indices sous la forme
suivante :
t(10)
A(2,9)
B(:,7)
C(3,:)

lment no 10 du vecteur t
lment se trouvant ligne 2, colonne 9 de la matrice A
la colonne 7 de la matrice B
la ligne 3 de la matrice B

P.Tona - Introduction MATLAB et S IMULINK

VECTEURS ET MATRICES

Oprations matricielles
Les oprations matricielles excutes par MATLAB sont illustres dans le tableau suivant :
B
E
D
Z
X
X

=
=
=
=
=
=

la matrice B est gale la matrice A transpose


la matrice E est gale la matrice A inverse
soustraction
multiplication
rsout le systme dquations
quivaut (B/A)(help slash pour plus de details)

A
inv(A)
A-B
X*Y
A\B
A/B

Ax = B

Oprations "lment par lment"


Les oprations lment par lment des vecteurs et des matrices sont effectues en ajoutant un
point (.) avant les oprations * \ /
Exemple.
A=[1 2 3 4 5];
B=[6 7 8 9 10];
C=A.*B;
C =
6
14
D=A./B;

24

36

50

D =
0.1667

0.2857

0.3750

0.4444

0.5000

Effacer des lignes et des colonnes


t=[]
X(:,2)=[]
Y(3,:)=[]

crer un tableaux vide


effacer la deuxime colonne de X
effacer la troisime ligne de Y

Concatnation
Loprateur [ : : : ] permet denchaner des matrices ou des vecteurs entre eux pour former des matrices ou des vecteurs plus grands
A = ones(2)
A =
1
1

1
1

B = zeros(2)
B =
0
0

0
0

C = [A B]
C =
1
1

1
1

0
0

0
0

D = [A ; B]
D =

P.Tona - Introduction MATLAB et S IMULINK

VARIABLES ET FONCTIONS
1
1
0
0

1
1
0
0

Il agit aussi sur des chanes de caractres


poli = merci;
tres_poli = [poli beaucoup];
tres_poli =
merci beaucoup

Polynmes
MATLAB ne fournit pas de types ou classes pr-dfinis pour reprsenter directement des polynmes.
Si lon utilise un vecteur P contenant les coefficients du polynme (en ordre dcroissant), les fonctions
suivantes sont disponibles
roots(P)
polyval(P,x)
conv(P1,P2)
deconv(P1,P2)

racines de P ;
valuation de P en x ;
multiplication polynomiale
division polynomiale

Si R est un vecteur contenant les racines dun polynme P , la fonction poly(R) reconstruit les coefficients du polynme. Si A est une matrice, poly(A) calcule son polynme caracteristique.

Variables et fonctions
Variables
On dfinit une variable en donnant son nom et sa valeur numrique ou son expression mathmatique :
a
x
y
z

=
=
=
=

1.25;
0:0.5:10;
a*x;
y.^2;

Expressions mathmatiques
On crit les expressions mathmatiques de la faon habituelle :
z = 5*exp(-0.4*x).*sin(7.5*y);

Fonctions mathmatiques
Les fonctions mathmatiques de base sont donnes dans le tableau suivant :

P.Tona - Introduction MATLAB et S IMULINK

10

VARIABLES ET FONCTIONS

abs

angle

sqrt

real

imag

valeur absolue
module (nb. complexe)

argument
(nb. complexe)

racine carre

partie relle

partie imaginaire

conj

round

fix

floor

conjugue (nb. complexe)

arrondir

arrondir (vers zro)

arrondir (vers

sign

rem

exp

log

signe

reste

exponentielle

logarithme base e

1)

ceil

arrondir (vers +1)

log10

logarithme base 10

Les fonctions trigonomtriques sont donnes dans le tableau suivant :


sin
sinh

cos
cosh

tan
tanh

asin
asinh

acos
acosh

atan
atanh

atan2

Exemple
x=-2+5i
x =
-2.0000 + 5.0000i
a=real(x);
a =
-2
b=imag(x);
b =
5
m=abs(x);
m =
5.3852
alpha=angle(x);
alpha =
1.9513

Exemple

w=50;
t=0.5e-3;
y=25*exp(-4*t)*cos(w*t)
=
24.9423

Cration de fonctions
Lutilisateur peut crer des fonctions particulires pour ses applications. Voir la partie Programmation avec MATLAB .

P.Tona - Introduction MATLAB et S IMULINK

11

Graphiques
Introduction
Sil ny a pas de fentres graphiques actives, appeler une fonction graphique suffit pour en ouvrir
une. Les instructions graphiques suivantes continueront agir sur la mme fentre moins den ouvrir
dautres (fonction figure).
Les fonctions graphiques disponibles peuvent safficher en demandant laide sur graph2D , graph3D et
specgraph (graphiques et fonctions spcialiss).

Graphiques 2D
Trac de courbes
On utilise linstruction plot pour tracer un graphique 2D :

plot(x,y)
tracer le vecteur en fonction du vecteur
plot(t,x,t,y,t,z) tracer x t , y t et z t sur le mme graphique
plot(t,x,r:)
tracer x t en trait pointill rouge

() ()
()

()

Taper help plot pour explorer toutes les possibilits de cette commande.

Format du graphique
On peut choisir le format du graphique :
plot(x,y)
semilogx(f,A)
semilogy(w,B)
polar(theta,r)
bar(x,y)

()
()
( )
( )
()

tracer y x avec chelles linaires


tracer A f avec chelle log f
tracer B w avec chelle log B
tracer r theta en coordonnes polaires
tracer y x sous forme de barres

()
( )

Ajout de texte au graphique


title(Titre du graphique)
xlabel(Temps)
ylabel(Amplitude)
gtext(Valeur absolue)
legend(sortie relle,sortie simule)

12

donner un titre au graphique


tiquette de laxe x
tiquette de laxe x
ajouter du texte au graphique avec la souris
ajouter une lgende

GRAPHIQUES 2D

Manipulation de graphiques et de fentres


grid, grid on, grid off ajouter une grille
axis([-1 5 -10 10])
choix des chelles x
; et y
;
hold, hold on, hold off garder le graphique sur lcran (pour tracer plusieurs courbes sur le
mme graphique)
figure
ouvre une nouvelle fentre graphique
close all
ferme toutes les fentres graphiques

= ( 1 5)

= ( 10 10)

Un exemple complet
Fonctions sinusoidales amorties
10

2
Tension , V

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(Fonctions sinusoidales amorties)
xlabel(Temps , s),ylabel(Tension , V)

10

0.01

0.02

0.03
Temps , s

0.04

0.05

0.06

hold off
plot(y,z),grid
axis equal
xlabel(y),ylabel(z)

2
z

4
6

2
y

10

Graphique multiple
On peut tracer plusieurs graphiques dans la mme fentre en utilisant linstruction subplot pour diviser la fentre en plusieurs parties (le tracs se feront en suite avec plot, semilogx, etc.) :
diviser la fentre en deux parties (2 x 1)

subplot(2,1,1)

subplot(2,1,2)

P.Tona - Introduction MATLAB et S IMULINK

13

GRAPHIQUES 3D
diviser la fentre en deux parties (1 x 2)

subplot(1,2,1)

subplot(1,2,2)

diviser la fentre en quatre parties (2 x 2)

subplot(2,2,1)

subplot(2,2,2)

subplot(2,2,3)

subplot(2,2,4)

diviser la fentre en quatre parties (4 x 1)


subplot(4,1,1)
subplot(4,1,2)
subplot(4,1,3)
subplot(4,1,4)

Exemple
20

20
40
60
80
0
10

10

10

50

100

150

200
0
10

10

10
w , rad/s

Graphiques 3D
Les deux exemples suivants montrent comment tracer des graphiques 3D.

P.Tona - Introduction MATLAB et S IMULINK

14

10

w , rad/s

Phase ,

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 , )

Amplitude , dB

10

IMPRESSION ET ENREGISTREMENT DE GRAPHIQUES

25

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
zlabel(temps)

20

15
temps

10

0
1
1

0.5
0.5

0
0
0.5

0.5
1

b=1200*pi;
dt=50e-6;
for j=1:15
for i=1:150
k(j)=j;
a=(16-j)*50;
t(i)=(i-1)*dt;
y(i,j)=exp(-a*t(i)).*sin(b*t(i));
end
end
[K,T]=meshgrid(k,t);
mesh(T,K,y)

0.5

0.5

1
15
8

10
6
4

5
2
0

x 10

Impression et enregistrement de graphiques


Limpression de graphiques se fait normalement partir des menus de la fentre graphique. Plusieurs
possibilits sont offertes en terme de positionnement de la fentre dans la feuille.
Limpression peut aussi se faire par la fonction print , en passant par lun des pilotes dimprimante
disponibles. Toutefois, cette fonction est principalement utilise pour enregistrer le contenu dune fentres dans un fichier graphique. Par exemple, print -deps enregistre en format Encapsulated PostScript.

Nouvelles fonctionnalits
Lenvironnement propedit permet de changer les proprits dun graphique. Dans la version 5.3 la
plupart de ces proprits sont directement accessibles partir de la fentre graphique. Donc, pratiquement
toutes les manipulations faites par ligne de commande sont disponibles dans les menus, avec davantage
de possibilits. Malheureusement, cet environnement est lheure actuelle un peu fragile (= bogues frquents).

P.Tona - Introduction MATLAB et S IMULINK

15

Programmation avec MATLAB


Communication avec lutilisateur
On peut afficher un message, une valeur lcran avec disp :
disp(Ceci est un test) afficher "Ceci est un test" sur lcran
On peut saisir une valeur avec input :
x = input(Valeur de x = ) afficher sur lcran "Valeur de x = "
en attendant quun nombre soit tap

Contrle de lexecution
Boucle FOR
On peut crer une boucle, ou des boucles imbriques en utilisant for

: : : end.

Exemple
boucle FOR simple :
for i=1:100
wt=24*i*0.01;
x(i)=12.5*cos(wt+pi/6);
end

boucles imbriques :
for i=1:5
for j=1:20
amp=i*1.2;
wt=j*0.05;
v(i,j)=amp*sin(wt);
end
end

Des increment ngatifs (for i=5:-1:1


aussi possibles.

: : : end) ou non entiers (for i=1:0.2:4 : : : end) sont

Boucle WHILE
On peut crer une boucle en utilisant while

: : : end .

16

FICHIERS M

n=1;
while n<100
x=n*0.05
y(n)=5.75*cos(x);
z(n)=-3.4*sin(x);
n=n+1;
end

Excution conditionnelle
Les instructions if : : : end , if : : : else : : : end , if : : : elseif : : : else
switch : : : case : : : case : : : end permettent de choisir entre plusieurs options.

: : : end ,

Exemple
n=input(Donner un nombre positif: );
if rem(n,3)==0
disp(Ce nombre est divisible par 3)
elseif rem(n,5)==0
disp(Ce nombre est divisible par 5)
else
disp(Ce nombre nest pas divisible par 3 ou par 5)
end

Fichiers M
Les fichiers M sont des fichiers ASCII (pur texte) contenant des suites dinstructions MATLAB et
ayant extension .m , par exemple test1.m . Si lon tape test1 , les instructions contenues dans le fichier
test1.m seront excutes une par une. Pour crer des fichiers M on peut utiliser nimporte quel diteur
de texte, ou bien lditeur MATLAB intgr (commande edit ).
Exemple
% ceci est un exemple de fichier M
% les lignes de commentaire commencent par "%"
for i=1:10
for j=1:4
x=0.005*i;
x=30+j;
z(i,j)=10*exp(y*x)*cos(120*pi*x);
end
end

Cration de fonctions MATLAB


Des nouvelles fonctions peuvent tre ajoute aux fonctions MATLAB prexistantes. Une nouvelle
fonction nest autre quun fichier M particulier dont la premire ligne contient la dfinition syntaxique de
la fonction, travers le mot cl function :
function y = mafonct1(x)
fonction qui retourne y partir de x
function z = mafonct2(x,z)
fonction qui retourne z partir de x et de y
function [y1,y2] = mafonct3(x1,x2) fonction qui retourne y1 et y2 partir de x1 et de x2

P.Tona - Introduction MATLAB et S IMULINK

17

PROGRAMMATION ORIENTE-OBJETS
Le nom de la fonction est dtermin par le nom du fichier .m qui la contient, et non pas par le nom
qui apparat dans la dfinition syntaxique. Dans tous les cas, viter, si possible, dutiliser deux noms diffrents, et, surtout, ne jamais utiliser un nom de fonction qui correspond une fonction dj existante (en
vrifier lexistence avec which nomfonct ).
Exemple

function y = eff(x)
% eff Calcul de la valeur efficace
%
Pour un vecteur eff(x) donne la valeur efficace
%
Pour une matrice, eff(x) donne un vecteur contenant
%
la valeur efficace de chaque colonne.
m = length(x);
y=sqrt(sum(x.*x)/m);

Si la fonction est contenue dans un fichier eff.m on pourra lappeler par eff dans la ligne de commande, dans un autre fichier M ou dans une autre fonction utilisateur :
v = [1; 2; 3];
val_effy = eff(v)
val_eff =
2.1602

Remarques
les commentaires dentte donns dans la fonction eff seront affichs lcran lorsquon tape help
eff ;
la fonction nest accessible que si le fichier qui la dfinit se trouve dans le repertoire courant ou dans
un repertoire inclus dans le path (help addpath ou help path pour plus de details).

Programmation oriente-objets
Pour le courageux, des fonctions telles que class , superiorto , inferiorto permettent daccder un semblant de programmation oriente-objets. En tous cas, la programmation fonctionnelle suffit
largement pour rsoudre les problmes plus communs.

P.Tona - Introduction MATLAB et S IMULINK

18

Introduction S IMULINK
S IMULINK est lextension graphique de MATLAB permettant de reprsenter les fonctions mathmatiques et les systmes dynamiques sous forme de schmas en blocs.

Dmarrer S IMULINK
Dans la fentre Commande de MATLAB, taper simulink . La fentre contenant la bibliothque S IMU va souvrir.

LINK

( bibliothque Windows

bibliothque UNIX (et vielles versions)

Bien que linterface de la bibliothque ne soit pas homogne entre diffrentes versions et diffrentes
machine, le concept de base est le mme : la bibliothque contient des collections de blocs simples quon
peut connecter pour former des diagrammes.

Collections de blocs
Dans la version 3.0 de SIMULINK les principaux blocs sont organiss comme suit
COLLECTION

CONTENU

Sources

sources de signaux

Sinks

affichage, stockage

Continuous

blocs continus

Discrete

blocs discrets

Math

oprateurs mathmatiques

Function & Tables

fonctions, interpolation
19

BLOCS LES PLUS UTILISS


gnrateurs de signaux, horloges, chargement de donnes dun fichier ou du workspace
afficheurs de signaux, stockage de donnes
dans un fichier ou dans le workspace
intgrateur, fonction de transfert, reprsentation dtat, retards
intgrateur, fonction de transfert, reprsentation dtat, bloqueurs, filtres
fonctions trigonomtriques, signe, valeur
absolue, gains, somme, produit
expression gnrique, tableaux dinterpolation, fonction MATLAB, S-fonctions

CONSTRUCTION DUN DIAGRAMME SIMULINK


COLLECTION

CONTENU

Nonlinear

blocs non-linaires

Signals & Systems

portes, connections

BLOCS LES PLUS UTILISS


frottements, jeux, saturations, commutateurs
sous-systme, porte dentre et de sortie
pour un modle ou un sous-systme, signal
vectoriel!signaux scalaires (demux) et vice
versa (mux)

Dautres blocs utiles se trouvent dans les collections des diffrentes toolbox.

Construction dun diagramme S IMULINK


Les tapes de base sont les suivantes
pour commencer, dans le menu File , slectionner New Model (pour la version 3.0 sur Windows,
cliquer sur lcne feuille blanche ) : une fentre de travail Untitled souvrira ;
choisir les blocs dont on a besoin pour construire le diagramme dans les collections de la bibliothque, et les faire glisser un par un dans la fentre de travail,
faire des liaisons entre les blocs laide de la souris ;
cliquer sur les blocs dont on veut changer les paramtres : une fentre de dialogue souvrira pour
permettre cette opration ;
sauvegarder le schma ainsi obtenu dans un fichier *.mdl.

Un exemple trs simple


P

rfrence

Kp

position

u
V

1
P

Satellite

Kv

Scope

1
u

M
masse

2
V

Dhabitude, on commence par mettre ensemble des sous-systmes plus simples. Ces sous-systmes
doivent avoir des portes dentre (bloc In ) et de sortie (bloc Out ), pour relier les sous-systmes au schma
principal. On cre des sous-systmes par lentre Create subsystem du menu Edit , aprs avoir cadr
les blocs quon veut regrouper laide de la souris. Une deuxime faon consiste copier un groupe de
blocs lintrieur dun bloc Subsystem dans la fentre du schma principal.
Dans le schma principal, il faut se poser la question de comment grer le passage des donnes de et
vers lespace de travail. Plusieurs solutions soffrent : on peut utiliser des blocs des collections Sources et
Sinks ou bien encore des portes dentre-sortie.

P.Tona - Introduction MATLAB et S IMULINK

20

SIMULATION DUN DIAGRAMME SIMULINK

Simulation dun diagramme S IMULINK


Une fois le modle compos, il faut ajuster les paramtres de la simulation dans le menu Simulation
Parameters .

Paramtres du solveur
Pour faire des premiers essais on peut se contenter des paramtres proposs par dfaut, en choisissant
juste la dure dsire de la simulation. Cependant, ce menu a une influence norme sur la qualit de la
simulation pour des systmes peine compliqus et il faut apprendre bien sen servir.
FIN DE LA SIMULATION

DBUT DE LA SIMULATION

PAS VARIABLE/PAS FIXE

ALGORITHME
DINTEGRATION

PAS DE CALCUL MAXIMUM

ERREUR RELATIVE

PAS DE CALCUL INITIAL


ERREUR ABSOLUE
FACTEUR DE RAFFINAGE (nombre de points
supplmentaires)

RGLAGE
FIN
DU
NOMBRE DE VALEURS
A CALCULER

Paramtres dentre-sortie par rapport lespace de travail


Par dfaut, le vecteur de temps de la simulation, quon utilise dans la plupart des graphiques, est
enregistr dans la variable tout , qui sera disponible dans lespace de travail. On peut aussi utiliser ce
menu pour dfinir les entres du modle et pour en enregistrer les sorties, si on sest servi de portes
dentrs-sortie dans le schma principal.
VARIABLES SAUVEGARDES
DANS LESPACE DE TRAVAIL

LONGUEUR MAXIMALE
DES VECTEURS
FACTEUR DLIMINATION DE POINTS
VARIABLES CHARGES
DE LESPACE DE TRAVAIL

FORMAT DE SAUVEGARDE

P.Tona - Introduction MATLAB et S IMULINK

21

SIMULATION DUN DIAGRAMME SIMULINK

Paramtres du diagnostic
Cette fentre permet de rgler le diagnostic pour la simulation et fournit aussi des mcanismes pour
dboguer le schma.

VNEMENTS DTECTS

MESSAGE DCLENCHE
PAR LA DETECTION

POUR DBOGUER

Initialisation dun modle


Dans les schmas il est souvent prfrable de rentrer des noms de variables, plutt que des valeurs
numriques. Pour que la simulation puisse avoir lieu, il faut que ces paramtres soit prsents dans lespace
de travail. Normalement, on crit les paramtres du systme dans un fichier M dinitialisation, quil suffit
dappeler une fois par session de travail ( moins de vouloir changer les paramtres, videmment).

P.Tona - Introduction MATLAB et S IMULINK

22

La C ONTROL S YSTEM T OOLBOX


Introduction
La C ONTROL S YSTEM T OOLBOX (CST) est la bote outils MATLAB ddie lAutomatique de
base. Elle fournit un support pour
crer et manipuler des modles linaires de systmes ;
analyser ces modles avec les outils classiques de lAutomatique ;
synthtiser des rgulateurs.
La liste complte des fonctions de cette toolbox sobtient en tapant help control .

Reprsentation des systmes linaires


Dans la Control System Toolbox, les systmes linaires ( paramtres constants dans le temps) sont
reprsents par des objets 1 appartenant la classe LTI (comme Linear Time-Invariant).
Trois diffrentes reprsentations des systmes sont disponibles, travers trois sous-classes de LTI :
la classe tf correspond des systmes sous forme de fonctions de transfert, comme

1 0:4773z 2
s+2
2s ; 0:7869z
e
s2 + 3s + 1
1 1:213z 1 + 0:3679z 2 ;

2
6
4

5
s+1
1
s+3

s 1
s+2

2
s+2

3
7
5

la classe ss correspond des systmes sous forme de variables dtat, comme


8 
>
>
<
>
>
:

x_ 1
x_ 2


 

1
1
x1
0
= 0 2 x2 + 2 u



 x1
y = 1 1
x2

8 
>
>
<
>
>
:

x1  =  0:5 0   x1  +  0 1   u1
x
0   0:8  x2
2 1 u2
 2 

y1
= 11 10 xx12
y2

la classe zpk , moins utilise que les autres, correspond des systmes sous la forme zros-ples-gain,
comme

s + 2)
100 s((ss +1)(
1)(s + 3) ;

2


5 1  64

(s + 3)(s + 5)
(s 1)(s + 1)
s+2
(s 1)(s + 1)

3
7
5

1
La plupart des fonctions de la CST peuvent sappliquer des vecteurs et des matrices sans passer forcment par les objets
LTI, comme dans les anciennes versions de cette toolbox (utiliser help pour plus de details)

23

REPRSENTATION DES SYSTMES LINAIRES


Une classe ultrieure (FRD ) a t mise disposition dans la version 5.3 pour reprsenter des rponses
en frquence, qui peuvent aussi provenir de donnes exprimentales.

Fonctions de transfert (classe tf )


Les fonctions de transfert se crent laide de la fonction tf . Les premirs deux paramtres de
tf sont des vecteurs MATLAB contenant respectivement les coefficients du numrateurs et les coefficients du dnominateur, tandis que les paramtres suivants (facultatifs) spcifient des proprits ultrieures de la fonction de transfert :
tf(num,den)
tf(num,den,Td,tr)
tf(num,den,te)
tf(num,den,te,Variable,z^-1)

crer une f.d.t. continue num


den ;
crer une f.d.t. continue avec retard tr ;
crer une f.d.t. en z avec priode dchantillonnage te ;
crer une f.d.t. en z 1

Exemples
nc = [1 1];
dc = [1 2 1];
Gc = tf(nc,dc)
Transfer function:
s + 1
------------s^2 + 2 s + 1

nd
dd
ts
Gd

=
=
=
=

[1 0.985];
= conv([1 -1],[1 -0.999]);
0.03;
tf(nd,dd,ts)

Transfer function:
z + 0.985
--------------------z^2 - 1.999z + 0.999
Sampling time:

0.03

La fonction conv(a,b) utilise ci-dessus permet dobtenir la multiplication polynomiale entre les polynmes dont les coefficients sont dfinis par les vecteurs a et b .
La fonction tfdata permet de rcuprer (entre autres) le numrateur et le dnominateur dune fonction de transfert :
[num,den]=tfdata(fdt,v)
extraire le numrateur et le dnominateur ;
[num,den,te]=tfdata(fdt,v)
extraire aussi la priode dchantillonnage ;
[num,den,te,retard]=tfdata(fdt,v) extraire encore le retard.
Exemple
[num,den,ts]=tfdata(Gd,v);
num =
0

1.0000

0.9850

P.Tona - Introduction MATLAB et S IMULINK

24

REPRSENTATION DES SYSTMES LINAIRES

den =
1.0000

-1.9990

0.9990

ts =
0.03

Forme zros-ples-gain (classe zpk )


La forme zros-ples-gain est une reprsentation alternative la fonction de transfert num
den . On cre des
systmes dans cette forme laide de la fonction zpk , qui prend en paramtres deux vecteurs contenant
respectivement les zros et les ples, plus un scalaire qui indique un gain

zeros=[];
poles=[-1,-2];
gain=-10;
G_zpk=zpk(zeros,poles,gain)

Zero/pole/gain:
-10
-----------(s+1) (s+2)

La fonction zpkdata a un rle analogue celui de tfdata , considre prcdemment.

Reprsentation dtat (classe ss )


Les systmes en variables dtat se crent laide de la fonction ss , en spcifiant les quatre matrices
;
:
(ou vecteurs) de la reprsentation

x_ = Ax + Bu y = Cx + Du

ss(A,B,C,D)
crer un systme continu en variables dtat ;
ss(A,B,C,D,te) crer un systme discret avec priode dchantillonnage te .
Exemple
A=[0,1;-4,-4];B=[0;2];C=[1,0];D=0;
syst_ss=ss(A,B,C,D);
a =
x1
x2

x1
0
-4

x1
x2

u1
0
2

y1

x1
1

y1

u1
0

x2
1
-2

b =

c =
x2
0

a =

Continuous-time system.

P.Tona - Introduction MATLAB et S IMULINK

25

REPRSENTATION DES SYSTMES LINAIRES


On peut extraire le quadrupl A; B; C; D dun objet ss par la fonction ssdata
[A1,B1,C1,D1]=ssdata(syst_ss)
A1 =
0
-4

1
-4

B1 =
0
2
C1 =
1

D1 =
0

[A,B,C,D,te]=ssdatarcupre aussi la priode dchantillonnage (

= 0 pour un systme continu).

Passage dune reprsentation lautre


Soit syst un objet LTI appartenant lune des trois classes, introduites ci-dessus. Alors :
ss(syst) met le systme syst en reprsentation dtat ;
tf(syst) met le systme syst sous forme de fonction de transfert ;
zpk(syst) met le systme syst sous forme zros-ples-gain.
Exemple
syst_tf = tf(syst_ss);
Transfer function:
2
------------s^2 + 4 s + 4
syst_zpk = zpk(syst_tf);
Zero/pole/gain:
2
------(s+2)^2

Les fonctions tfdata , zpkdata , ssdata peuvent en fait sappliquer nimporte quel objet LTI, car
elles se chargent aussi de la conversion de reprsentation.

)discret

Conversion continu

Un modle LTI se discrtise au moyen de la fonction c2d , avec la syntaxe


syst_disc = c2d(syst_cont, te, methode) ,
o te est la priode dchantillonnage et methode est la mthode de discrtisation utiliser : bloqueur dordre 0 (zoh), bloqueur dordre 1 (foh), transformation bi-linaire de Tustin (tustin),
etc. Si lon ne spcifie pas de mthode, le bloqueur dordre 0 est utilis.

P.Tona - Introduction MATLAB et S IMULINK

26

REPRSENTATION DES SYSTMES LINAIRES

syst_tf_z=c2d(syst_tf,0.1)
Transfer function:
0.008762 z + 0.007668
--------------------z^2 - 1.637 z + 0.6703
Sampling time:

0.1

Manipulation de schmas en blocs


Les systmes LTI peuvent sinterconnecter pour former des systmes plus grands
S YST 1
S YST 1

S YST 2

S YST 2

S YST 2
Syst2Syst1
series(Syst1,Syst2)

S YST 1

Syst2+Syst1
parallel(Syst1,Syst2)

feedback(Syst1,Syst2)

Les fonctions series , parallel , feedback possdent des options pour obtenir des systmes plus
complexes (help sur les noms de ces fonctions pour plus de dtails). Toutefois, partir dun certain degr
de complexit il faut prendre en considration loption de dessiner les blocs dans un schma S IMULINK.
TRUC : la fonction linmod , conue pour linariser un modle (non linaire) S IMULINK, peut tre aussi
utilise pour rcuprer la reprsentation dtat globale dun ensemble de blocs linaires connects.

Proprits des modles LTI


Pour une utilisation plus avance il peut tre utile de connatre les proprits les plus importantes que
les objets MATLAB reprsentant des modles LTI possdent

Ts
priode dch.

PROPRITS COMMUNES TOUS LES OBJETS LTI


Td
InputName
OutputName
Notes
retard(s) noms des entres noms des sorties notes perso

PROPRITS TF
PROPRITS ZPK
num
den
z
p
k
numrateur dnominateur zros ples gain
Variable
nom de la variable (s , z ,z^-1 , etc.)

Userdata
autres donnes/info

PROPRITS SS
a
b
c
d
matrice A matrice B matrice C matrice D
StateName
noms des variables dtat

On peut lire ou modifier ces proprits trs facilement. Soit syst un objet TF discret :
syst.Ts=nouveauTe
change la priode dchantillonnage (sans changer les coefficients) ;
n=syst.num{1}
rcupre le numrateur sous forme de vecteur ;
syst.num=nouveauNum change le numrateur ;

P.Tona - Introduction MATLAB et S IMULINK

27

OUTILS DANALYSE
Dune faon analogue
zeros=syst.z{1}
A=syst.a

rcupre les zros sous forme de vecteur ;


rcupre la matrice ;

Une partie des proprits na pas de signification mathmatique, mais sert mieux documenter le
modle
G.InputName=tension (V);G.OutputName=vitesse (rad/s)
Transfer function from input "tension (V)" to output "vitesse (rad/s)":
1
------s^2 + s

Outils danalyse
Les fonctions mentionnes dans la suite sont applicables indiffremment des objets tf , zpk et ss .
Vue la flexibilit de ces fonctions, lutilisation de laide est chaleureusement recommande, pour en explorer toutes les possibilits.

Analyse temporelle
La fonction step permet de tracer la rponse indicielle dun systme
tracer la rponse indicielle, intervalle de temps et nombre de points
choisis par MATLAB ;
step(syst,tfin)
tfin scalaire dtermine le temps final (continu) ou le nombre total
dchantillons (discret) ;
step(syst,T)
T vecteur de temps fourni par lutilisateur ;
step(syst1,syst2,...) T tracer les rponses indicielles superposes de plusieurs systmes ;
[y,t]=step(syst,...) stocke la rponse indicielle sans la tracer.

step(syst)

Exemple
T=0:0.1:10;
step(syst_tf,T)

La rponse impulsionnelle sobtient par la fonction impulse , dont la syntaxe est identique step .
Pour la rponse initiale dun systme en variables dtats on utilise la fonction initial(sys,x0) avec
des options similaires celles vue pour les fonctions ci-dessus.
Pour obtenir des rponses des signaux dentres plus complexe on a deux choix :
utiliser la fonction lsim avec un signal gnr par gensig , square ou sawtooth ;
utiliser SIMULINK et le blockset LTI.

P.Tona - Introduction MATLAB et S IMULINK

28

OUTILS DANALYSE

Ples, zros, valeurs propres, . . .


[vp]=eig(syst)
p=pole(syst)
z=tzero(syst)
[p,z]=pzmap(syst)
[w,csi]=damp(syst)
gs=dcgain(syst)

calculer les valeurs propres de syst ;


calculer des ples de syst ;
calculer les zros (de transmission, pour un systme multi-variable) de syst ;
calculer les ples et les zros de syst ;
calculer pulsation naturelle et amortissement des ples de syst ;
calculer le gain statique de syst .

En tapant pzmap(syst)tout court, les ples et le zros du systme sont tracs sur le plan s ou z . Des
grilles correspondantes des frquences et des amortissements constants peuvent tre tracs laide de
sgrid et zgrid , respectivement.

Analyse frquentielle
La fonction bode permet de tracer le diagramme de Bode dun systme
tracer le diagramme de Bode, intervalle de frquences et nombre
de points choisis par MATLAB ;
bode(syst,wi,wf)
tracer le diagramme de Bode entre les frquences wi et wf ;
bode(syst,W)
tracer le diagramme de Bode avec un vecteur de frquences gnr
par lutilisateur (dhabitude avec logspace ) ;
bode(syst1,syst2,...) tracer les diagrammes de Bode indicielles superposs de plusieurs
systmes ;
[G,P,W]=bode(syst,...) stocke le diagramme de Bode (gain, phase et frquence) sans le
tracer.
bode(syst)

Une syntaxe similaire est prvue pour les fonctions nyquist et nichols . La grille pour le diagramme
de Nichols se dessine avec ngrid .
Pour un systme stable, la fonction
[mg,mp,wmg,wmp]=margin(syst),
calcule le marge de gain et phase, aussi bien que les frquences qui leur sont associes.

Le LTIVIEWER
En tapant ltiview ou ltiview(syst) , on rentre dans un environnement graphique interactif
pour lanalyse des modles LTI, qui est trs performant, mis part des bogues et une tendance fcheuse
se planter, quon espre voir disparatre dans une prochaine version du logiciel.

Normes
norm(sys,2)
norme H2
norm(sys,inf) norme H1

Analyse et manipulation des systmes en variables dtat


La plupart de fonctions suivantes nont du sens que si le systme considr est en forme dtat :

P.Tona - Introduction MATLAB et S IMULINK

29

OUTILS DE SYNTHSE

syst=ss2ss(syst,T)
systc=canon(syst,type)
CO=ctrb(syst)
OB=obsv(syst)
asys=augstate(sys))

z = Tx

effectuer la transformation
sur le vecteur dtat de syst
calculer la forme compagnon de syst (si type gal companion )
calculer la matrice de commandabilit de syst
calculer la matrice dobservabilit de syst
ajouter les tats de syst ses sorties.

Pour mieux comprendre (et contrler) ce que ces fonctions font, il est probablement plus raisonnable
de les utiliser sur les matrices et/ou les vecteurs de la reprsentation dtat, plutt que sur lobjet ss :
CO=ctrb(syst.A,syst.B) calculer la matrice de commandabilit
OB=obsv(syst.A,syst.C) calculer la matrice dobservabilit

Outils de synthse
Pour un systme mono-variable, il est possible de tracer le lieu de racines par la fonction rlocus(syst) .
La fonction rlocfind(syst) permet de dterminer le gain sur lieu de racines de faon interactive.
Un environnement graphique complet pour la synthse par cette mthode est accessible en tapant rltool(syst) .
Le placement de ples en variables dtat sobtient par les fonctions acker et place , cette dernire
tant mieux conditionne et applicable aussi aux systmes multi-variables. Les deux fonctions sont appliquer des matrices et non pas des objets LTI.

La fonction estim(syst,L) permet de former un observateur partir dun gain , et la fonction


estim(syst,K,L) permet de crer un ensemble rgulateur-observateur partis des gains et .

Autres outils
Dautres outils de synthse sont disponibles :

pour la commande LQR (lqr, dlqr, lqry, lqrd ) ;


pour la commande LQG (kalman, kalmd, lqgreg ) ;
pour la rsolution dquations de Lyapounov (lyap, dlyap ) ;
pour la rsolution dquations de Riccati (care, dare ).

P.Tona - Introduction MATLAB et S IMULINK

30

K L

Vous aimerez peut-être aussi