Académique Documents
Professionnel Documents
Culture Documents
MATLAB et S IMULINK
Paolino Tona
Laboratoire dAutomatique de Grenoble
Ce document couvre les aspects principaux du logiciel MAT-
LAB et de son extension SIMULINK.
http://www.gel.ulaval.ca/~lehuy/intromatlab
http://www-pors.hit.no/~finnh/contoolb.html
Paolino.Tona@lag.ensieg.inpg.fr
Introduction MATLAB 2
Introduction MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Une session de travail MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Oprations mathmatiques 7
Nombres et oprations arithmtiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Vecteurs et matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Variables et fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Graphiques 12
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Graphiques 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Graphiques 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Impression et enregistrement de graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Nouvelles fonctionnalits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Introduction S IMULINK 19
Dmarrer S IMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Construction dun diagramme S IMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Simulation dun diagramme S IMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1
Introduction MATLAB
Introduction MATLAB
MATLAB
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 ;
2
UNE SESSION DE TRAVAIL MATLAB
Toolboxes : ( botes outils) ce sont des collections de fichiers M dvelopps pour des domaines dap-
plication 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 sp-
cifiques (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 lutili-
sateur.
mode excutif : MATLAB excute ligne par ligne un programme en langage MATLAB crit dans un
fichier M (ou P), ou un fichier excutable MEX.
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.
Commandes systme
pwd nom du rpertoire courant
cd changer de rpertoire
dir, ls contenu du rpertoire courant
mkdir crer un nouveau rpertoire
delete effacer un fichier
copyfile copier un fichier
ts=0.03
ts =
0.0300
C=[1 1 0 0]
C =
1 1 0 0
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 2 3
4 5 6
7 8 9
Les variables ainsi dfinies sont stockes dans lespace de travail et peuvent tre utilises dans les
calculs subsquents.
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 dou-
ble 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
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
Formats daffichage
Pour choisir le format daffichage pour les nombres, on utilise linstruction format :
format short 0.1234 (format par dfaut)
format long 0.12345678901234
format short e 1.2341E+002
format long e 0.123456789012345E+002
format hex ABCDEF0123456789
Oprations arithmtiques
+ Addition
- Soustraction
* Multiplication
/ Division droite
n 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
ou exponentiel :
x=logspace(0,2,7)
x =
1.0000 2.1544 4.6416 10.0000 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 2.7000 4.1000
3.1000 -0.7400 2.1000
6.7000 -4.3000 -2.1000
Matrice unitaire :
B=eye(4)
B =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Oprations matricielles
Les oprations matricielles excutes par MATLAB sont illustres dans le tableau suivant :
Concatnation
Loprateur [ : : : ] permet denchaner des matrices ou des vecteurs entre eux pour former des ma-
trices 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 0 0
1 1 0 0
D = [A ; B]
D =
1 1
1 1
0 0
0 0
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) racines de P ;
polyval(P,x) valuation de P en x ;
conv(P1,P2) multiplication polynomiale
deconv(P1,P2) division polynomiale
Si R est un vecteur contenant les racines dun polynme P , la fonction poly(R) reconstruit les coeffi-
cients 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 = 1.25;
x = 0:0.5:10;
y = a*x;
z = 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 :
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)
y =
24.9423
Cration de fonctions
Lutilisateur peut crer des fonctions particulires pour ses applications. Voir la partie Programma-
tion avec MATLAB .
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) y
tracer le vecteur en fonction du vecteur x
() () ()
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) ()
tracer y x avec chelles linaires
semilogx(f,A) ()
tracer A f avec chelle log f ()
semilogy(w,B) ( )
tracer B w avec chelle log B ( )
polar(theta,r) ( )
tracer r theta en coordonnes polaires
bar(x,y) ()
tracer y x sous forme de barres
12
GRAPHIQUES 2D
Un exemple complet
Fonctions sinusoidales amorties
10
t=0:0.01e-3:0.06; 8
y=10*exp(-60*t).*cos(120*pi*t);
6
z=10*exp(-60*t).*sin(120*pi*t);
4
plot(t,y,r,t,z,g),grid
2
a=10*exp(-60*t);
Tension , V
hold 0
plot(t,a,b-) 4
plot(t,-a,b-) 6
xlabel(Temps , s),ylabel(Tension , V) 10
0 0.01 0.02 0.03 0.04 0.05 0.06
Temps , s
hold off
2
plot(y,z),grid
z
axis equal 0
xlabel(y),ylabel(z)
2
6 4 2 0 2 4 6 8 10
y
Graphique multiple
On peut tracer plusieurs graphiques dans la mme fentre en utilisant linstruction subplot pour di-
viser la fentre en plusieurs parties (le tracs se feront en suite avec plot, semilogx, etc.) :
subplot(2,1,1)
subplot(2,1,2)
subplot(1,2,1) subplot(1,2,2)
subplot(2,2,1) subplot(2,2,2)
subplot(2,2,3) subplot(2,2,4)
subplot(4,1,1)
subplot(4,1,2)
subplot(4,1,3)
subplot(4,1,4)
Exemple
20
w=logspace(0,3,1000);
Amplitude , dB
20
s=j*w; 40
H=225./(s.*s+3*s+225); 60
AdB=20*log10(abs(H)); 80
10
0 1
10
2
10
3
10
phase=angle(H)*(180/pi); w , rad/s
0
subplot(2,1,1),semilogx(w,AdB),grid
xlabel(w , rad/s),ylabel(Amplitude , dB) 50
Phase ,
subplot(2,1,2),semilogx(w,phase),grid 100
200
0 1 2 3
10 10 10 10
w , rad/s
Graphiques 3D
Les deux exemples suivants montrent comment tracer des graphiques 3D.
25
t = 0:0.05:25; 20
x = exp(-0.05*t).*cos(t); 15
temps
y = exp(-0.05*t).*sin(t); 10
z = t;
5
plot3(x,y,z), grid
0
zlabel(temps) 1
0.5 1
0.5
0
0
0.5
0.5
1 1
b=1200*pi;
dt=50e-6;
1
for j=1:15
for i=1:150 0.5
k(j)=j;
0
a=(16-j)*50;
t(i)=(i-1)*dt; 0.5
y(i,j)=exp(-a*t(i)).*sin(b*t(i));
1
end 15
end 10
6
8
[K,T]=meshgrid(k,t); 5
2
4
3
x 10
mesh(T,K,y) 0 0
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 fe-
ntres 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 fr-
quents).
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 : : : end) ou non entiers (for i=1:0.2:4 : : : end) sont
aussi possibles.
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 : : : end ,
switch : : : case : : : case : : : end permettent de choisir entre plusieurs options.
Exemple
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
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 dif-
frents, 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)
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 com-
mande, 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 dacc-
der un semblant de programmation oriente-objets. En tous cas, la programmation fonctionnelle suffit
largement pour rsoudre les problmes plus communs.
S IMULINK est lextension graphique de MATLAB permettant de reprsenter les fonctions mathma-
tiques 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 -
LINKva souvrir.
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
19
CONSTRUCTION DUN DIAGRAMME SIMULINK
Dautres blocs utiles se trouvent dans les collections des diffrentes toolbox.
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 biblio-
thque, 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.
P position
rfrence Kp u
V
Satellite
1
P
Kv Scope
1 1
1 M 2
s s
u V
masse
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.
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.
FACTEUR DE RAFFI-
NAGE (nombre de points
RGLAGE FIN DU supplmentaires)
NOMBRE DE VALEURS
A CALCULER
VARIABLES SAUVEGARDES
DANS LESPACE DE TRAVAIL
LONGUEUR MAXIMALE
DES VECTEURS
FACTEUR DLIMINA-
TION DE POINTS
VARIABLES CHARGES
DE LESPACE DE TRAVAIL
FORMAT DE SAUVEGARDE
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
Introduction
La C ONTROL S YSTEM T OOLBOX (CST) est la bote outils MATLAB ddie lAutomatique de
base. Elle fournit un support pour
La liste complte des fonctions de cette toolbox sobtient en tapant help control .
Trois diffrentes reprsentations des systmes sont disponibles, travers trois sous-classes de LTI :
2
5 s 1
3
s+2 2s ; 0:7869z
1 0:4773z 2 6 s+1 s+2 7
s2 + 3s + 1
e
1 1:213z 1 + 0:3679z 2 ; 4 1 2 5
s+3 s+2
la classe ss correspond des systmes sous forme de variables dtat, comme
x_ 1 1 1 0 x1 = 0:5 0 x1 + 0 1 u1
8 8
x1
>
>
<
x_ 2
= 0 2 x2 + 2 u >
>
<
x 0 0:8 x2 2 1 u2
; 2
= 11 10 xx12
x1 y1
>
>
: y = 1 1 >
>
:
x2 y2
la classe zpk , moins utilise que les autres, correspond des systmes sous la forme zros-ples-gain,
comme
2
(s + 3)(s + 5) 3
(s 1)(s + 1)
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.
Exemples
nc = [1 1];
dc = [1 2 1];
Gc = tf(nc,dc)
Transfer function:
s + 1
-------------
s^2 + 2 s + 1
nd = [1 0.985];
dd = = conv([1 -1],[1 -0.999]);
ts = 0.03;
Gd = 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 po-
lynmes 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 fonc-
tion de transfert :
Exemple
[num,den,ts]=tfdata(Gd,v);
num =
0 1.0000 0.9850
den =
1.0000 -1.9990 0.9990
ts =
0.03
zeros=[];
poles=[-1,-2];
gain=-10;
G_zpk=zpk(zeros,poles,gain)
Zero/pole/gain:
-10
------------
(s+1) (s+2)
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 1
x2 -4 -2
b =
u1
x1 0
x2 2
c =
x1 x2
y1 1 0
a =
u1
y1 0
Continuous-time system.
B1 =
0
2
C1 =
1 0
D1 =
0
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.
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
S YST 1 +
+ S YST 1
S YST 1 S YST 2 +
S YST 2 S YST 2
Syst2Syst1
series(Syst1,Syst2) Syst2+Syst1 feedback(Syst1,Syst2)
parallel(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.
Une partie des proprits na pas de signification mathmatique, mais sert mieux documenter le
modle
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 ex-
plorer toutes les possibilits.
Analyse temporelle
La fonction step permet de tracer la rponse indicielle dun systme
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.
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
Une syntaxe similaire est prvue pour les fonctions nyquist et nichols . La grille pour le diagramme
de Nichols se dessine avec ngrid .
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
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 :
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 rl-
tool(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 ap-
pliquer des matrices et non pas des objets LTI.
L
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 . K L
Autres outils
Dautres outils de synthse sont disponibles :