Vous êtes sur la page 1sur 16

Matlab/Simulink 1

MASTER ASE 1re anne


UE M1-103 :
Outils de simulation
Partie : Matlab
Pierre Bonnet
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink 2
Prsentation du logiciel Matla!Simulin"#$%&
Le logiciel Matlab est un logiciel de manipulation de donnes numriques et de programmation
dont le champ dapplication est essentiellement les sciences appliques. Son objectif, par rapport aux
autres langages, est de simplifier au maximum la transcription en langage informatique dun problme
mathmatique, en utilisant une criture la plus proche possible du langage naturel scientifique.
Le logiciel fonctionne sous Windos et sous Linux. Son interface de manipulation !M" utilise
les ressources usuelles du multi#fen$trage. Son apprentissage nexige que la connaissance de quelques
principes de base % partir desquels lutilisation des fonctions &olues est trs intuiti&e gr'ce % l(aide
intgre aux fonctions.
Une alternative Matlab est Scilab, logiciel libre, dont la version 5 prsente de nombreux
points communs avec Matlab. De nombreuses entreprises (EDF, ...) ont fait le choix de passer sous
Scilab. Le passage d'un logiciel l'autre n'est cependant pas direct, certaines fonctions ayant des
comportements diffrents (ce ne sont pas des erreurs mais des choix scientifiques diffrents). Tous les
logiciels de calcul rutilisent des savoir-faire scientifiques anciens et prouvs, dvelopps dans les
annes 1960.
' - 'ntroduction
Matlab est un logiciel interprt )donc sans phase prliminaire de compilation* qui excute les
oprations demandes squentiellement, a&ec possibilit de boucle, test et saut. "l ne manipule que des
donnes numriques et ne sait effectuer aucun calcul formel % priori.
Ecran de base (prsentation pouvant lgrement diffrer selon version)
L(cran de base comprend l(cran de contr+le Command Window ainsi que des fen$tres
complmentaires permettant de sui&re le fonctionnement gnral d(une application.
Les instructions frappes )ou colles* dans la ,ommand Windos s(excutent directement.
Les commandes peu&ent $tre relances dans la fen$tre Matlab simplement en remontant la liste
par et en &alidant la ligne par Return .
L(excution d(une ligne pro&oque automatiquement l(affichage des rsultats sous forme d(une
liste de donnes numriques. ,ette fonctionnalit peut $tre bloque en mettant un -.- % la fin de chaque
ligne de programme )prfrable lorsque le calcul concerne une matrice de grande dimension*.
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink (
Programme Matlab
"l est toutefois prfrable de construire un programme a&ec un diteur de texte )/loc#0otes sous
Windos, 1pen 1ffice ou l(diteur intgr*, de le sau&er sur disque sous le nom monappli.m .
Le programme peut $tre lanc depuis la fen$tre d(dition en appu2ant sur le bouton .
3(autres boutons permettent le dboggage des programmes a&ec points d(arr$t et excution pas % pas. 4
noter que Matlab possde toutes les fonctionnalits d(un logiciel moderne de programmation.
5out programme enregistr sous l(extension .m peut $tre lanc depuis la ,ommande Windos
de Matlab, en frappant son nom )sous rser&e que le chemin d(accs au fichier soit dclar sous Matlab
6 &oir la commande Set Path du menu Fichiers # .
Aide sur Matlab
"l existe deux t2pes d(aides sur Matlab 7 8 l(aide intgre aux fonctions )existant sur les
prcdentes &ersions * ou l(aide h2pertexte.
La commande 99 help ou 99 help nom-de-fonction permet d(obtenir une aide sur le logiciel en
gnral, un Toolbox ou une fonction particulire. ,(est pourquoi il n(est pas indispensable de conna:tre
le manuel complet de Matlab pour s(en ser&ir ;
L(aide h2pertexte est d(une trs grande richesse. <lle inclut la description des fonctions, des
exemples, des dmonstrations en ligne, des rfrences bibliographiques. L(aide h2pertexte est un
&ritable cours ; 4ttention au &olume total de la documentation fournie, qui reprsente l(qui&alent
d(une enc2clopdie )plus de => >>> pages en ?>>=*
'' - $ariales Matla
Les &ariables s(utilisent sans dclaration pralable de tpe, Matlab adoptant en interne l(objet
matrice pour toutes les &ariables )scalaires ou non, relle ou imaginaire, cha:ne de caractres...* . Le
t2pe )dimensionnement de la matrice* est donc gr automatiquement d(aprs l(usage )affectation* de
la &ariable. 3es calculs ou application de fonctions entre t2pes non cohrents seront signals par un
message d(erreur et blocage de l(excution du programme % cette ligne.
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink )
<xemple de dclaration8
** A + 1 ,return*
A +
1
** - + 2 . (i ,return*
- +
2/0000 . (/0000 i
** 01os ,return*
2ame Si3e Elements -4tes 5ensit4 6om7le8
- 1 4 1 1 1% 9ull :es
A 1 4 1 1 ; 9ull 2o
5oute &ariable utilise est range dans l(espace mmoire appel wor!space et 2 reste % moins
d(effacer le wor!space par la commande clear all ou commande au menu. Le contenu du wor!space
peut $tre affich par l(instruction who )nom seul des &ariables* ou whos )noms a&ec description du
t2pe*. La &aleur d(une &ariable s(affiche en frappant simplement son nom )sans le -.- en fin de ligne;*.
Son dimensionnement s(obtient par 8 99 size"#ariable$
Sur la &ersion 7, le wor!space est affich dans une fen$tre spcifique. <n cliquant sur une
&ariable de la fen$tre, les &aleurs apparaissent.

,ertaines &ariables usuelles comme i , pi ou eps )epsilon de &aleur ?
##@?
* sont prdfinies
)attention, pi peut $tre modifi ;*. Le nombre de &ariables utilisables n(est limit que par la place
mmoire. Les &ariables sont locales )sauf spcification contraire* et il n(2 a aucun risque de
modification d(une &ariable par une fonction qui utiliserait une &ariable interne de m$me nom.
Le langage Matlab manipule sans difficult toutes les &ariables usuelles.
Scalaires:
,(est le t2pe le plus simple, a&ec la gestion implicite des complexes.
r + ( 4 + -99/2< t1eta + 1/%0210E-20 u + ( . )=i t + 1 . (/1)E-(i
0 + r = e87#i=t1eta&
"l est possible de dfinir une &ariable % partir d(autres, pour&u qu(elles aient une &aleur
numrique, donc qu(elles aient t prcdemment dfinies 8
Vecteurs et Matrices
Les &ecteurs et matrices sui&ent l(criture naturelle, les lments tant des nombres ou des
&ariables prcdemment dfinies.
** 81+ >-1 0 1? @ A Becteur ligne
** 41 + >-1 @ 0 @ 1 ? A Becteur colonne
** 42 + > -1 0 1 ? ( A C D E signiFiant Gtrans7osition-
** 3 + > 1 2 ( @ ) < % ? A matrice 2 lignes 8 ( colonnes
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink <
Les &ecteurs ou matrices peu&ent $tre gnrs sui&ant une loi incrmentale8
** 8 + 1 H < ,return*
8 +
1 2 ( ) <
** 4 + < H -1 H 1 Areturn9
4
< ) ( 2 1
99 3 + # 0/0 H 0/2 H 1/0 &D . A Becteur colonne %81 7ar utilisation de la trans7osition
Le pas peut $tre spcifi, a&ec &entuellement une &aleur ngati&e.
Les lments des &ecteurs et matrices sont accessibles indi&iduellement ou par groupes8
99 A + randn#10& @ Acre une matrice de taille 10810 I coeF alatoires
99 som1+ A#1J1& . A#2J2& . A#(J(& @
99 8 + A# 1H< J ( & @ A met dans 8 les lments 1 I < de la colonne ( de A
** 4 + A#1H<J H& @ A met dans 4 les < 7remiKres lignes de A
,onstruction par ,oncatnation 8
99 3 + > 8 8 ? A 3 est une matrice %lignes 82 colonnes
Matlab permet de gnrer directement des matrices particulires8
** 3eros#mJ n& @ A matrice nulle de dimension m8n
** ones #mJn& @ A matrice de G1G
** randn#& @ Amatrice I lments alatoire de distriution normaleJ
** e4e#& @ Amatrice identitJ
** lins7ace#& ABecteurs en suite linaire
** logs7ace#n1Jn2& ABecteurs en suite logarit1miLue de 10Mn1 I 10Mn2/
''' - 9onctions Matla
L(criture est &oisine de l(criture informatique a&ec quelques &ariantes lorsque le rsultat ne
correspond pas % une mthode clairement identifie en mathmatique.
Expressions aritmti!ues
Les oprateurs les plus courants sont 8
. - = ! M
4ttention8 les &ariables tant &entuellement des matrices, certaines oprations doi&ent $tre
interprtes.
99 nNscalaire + ( @
** A + > 1H< @ 2 H % ? @
** - + A= nNscalaire @ A multi7lication de tous les lments de A 7ar n /
"onctions matmati!ues
L(utilisateur dispose de toutes les fonctions usuelles telles absJ sqrt )racine carre*, realJ imagJ
conjJ angle )phase d(un complexe* , signJ expJ logJ log10 JsinJ cosJ tanJ asinJ acosJ atanJ sinh ...
,es fonctions s(appliquent % tout t2pe de &ariables ) scalaire, complexe ou matriciel*
** 8 + >0 H 0/1 H 10? @ A dFinition Becteur 8
** al71a + ( @
** 4 + al71a = #e87 # i = 8 & e87# -i = 8 &&! # 2 = i &@ A 4 est un Becteur
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink %
#alculs Matriciels
Les oprations de bases ) B , # , C * sappliquent implicitement aux matrices.
99 A + > 1H< ? @
** - + > 11 H 1< ?O @
** 61 + A = - @ A donne un scalaire
** 62 + - = A @ A donne une matrice <8<
** 6( + A = A @ A calcul im7ossile #erreur de dimension&
Matlab &rifie les dimensions des calculs . certaines erreurs seront ainsi dtectes mais il arri&e
sou&ent que le calcul corresponde % une expression calculable.
La di#ision matricielle de deux matrices carres de m$mes dimensions correspond % la fonction
in&erse de la multiplication8
** 6 + A ! - A LuiBalent I 6 + A = inB#-&
** 6 + - P A A LuiBalent I 6 + inB#-& = A
Les oprations propres au calcul matriciel sont gnralement dfinies en Matlab comme le
dterminant det"%$, l(in&ersion inv"%$, la diagonalisation diag"%$ , les &aleurs propres eig"%$.
Le pol2n+me caractristique P & dfini par det & ' % d(une matrice peut $tre extrait et
ses racines calcules.
99 A + > 1 2 ( @ ( 1 2 @ ) % < ? @
** lamda + eig#A& @ A donne les Baleurs 7ro7res ranges en colonne
** " + det#A& @ A dterminant #+ 7roduit des Baleurs 7ro7res&
** P + 7ol4 #A& @ A 7ol4nome caractristiLue dFini 7ar ses coeFFicients
** Q + roots#7ol4#A&& A redonne les Baleur 7ro7res de A ranges en colonne
** 7rodrac + 7rod#Q& A redonne le dterminant
Les oprations comme la racine carre, le logarithme demandent interprtation. Dar dfaut,
l(opration usuelle s(applique aux lments de la matrice et donne un rsultat de m$me dimension.
Dour la racine carre / d(une matrice 4 )qui satisfait l(quation /C/ E 4 *, on dispose de la
fonction sqrtm"%$ qui est diffrente de l(opration sqrt"%$ qui donne la racine carre de ses lments.
Fn certain nombre doprations sont tendues aux matrices non#carres comme la rsolution de
( ) % * + solution de % , ( ) + a&ec ( &ecteur qui fait appel % la solution usuelle dfinie par les
moindres #carrs ) ( ) "%
T
%$
--
%
T
+ *
#alculs terme $ terme
Matlab permet aussi des oprations point par point )ou terme % terme* c(est % dire en
considrant les matrices comme des tableaux )arra2* et en n(utilisant pas les rgles du calcul matriciel.
,es oprations sont notes a&ec un point pour signaler ce mode de calcul.
Les principales oprations point par point sont .C et .G
** 8 + >0 H 0/1 H 10? @ A dFinition Becteur 8
** 4 + e87#- 8 ! 10 & /= sin # 8 & @ A 4 est un Becteur
NB : il est important de ne pas confondre les oprations classiques et les oprations
point par point .
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink R
%raitement des donnes
Les fonctions les plus courantes sont crites comme 8
# abs J min J max , &aleur mo2enne mean , &aleur mdiane median , cart#t2pe std , le tri sort ,
la somme sum , le produit prod , la dri&e numrique diff , lhistogramme hist sur des
&ecteurs.
# la transforme de Hourier fft et son in&erse ifft
# pour les signaux multiples )matrices composes de deux ou plusieurs &ecteurs de mesures*
le module abs , la phase angle , les coefficients de corrlation corcoef , la matrice de
co&ariance cov la con&olution conv de signaux ou la dcon&olution deconv .
"onctions grapi!ues
Lun des points essentiels de Matlab est la reprsentation graphique des rsultats dans une
fen$tre graphique Windos ) qui peut $tre imprime ou recopie dans le presse#papier et incluse dans
une autre application Windos*. Les fonctions graphiques sont trs simples, a&ec une trs grande
souplesse dutilisation gr'ce % la possibilit dintroduction dun nombre de paramtres &ariable en
entre de fonction.
Les fonctions graphiques sont destines % reprsenter des &ecteurs ou des matrices &ues comme
une juxtaposition de &ecteurs.
Les graphiques ?3 de base sont8
** 7lot # BecteurN4 & A trace la coure 4 aBec comme acisse le numro
dDlment 7our 4 #c1elles linaires&
** 7lot #matrice& A gra71e de 7lusieurs coures
** 7lot #BecteurN8JBecteurN4& Agra71e de 4+F#8& si 8 et 4 ont mSme longueurT
Les autres graphes sont 8
** semilog4 # BecteurN8JBecteurN4*
** semilog8 #BecteurN8JBecteurN4 &
** loglog #BecteurN8JBecteurN4 &
Les graphes ?3 peu&ent $tre enrichis par les instructions sui&antes8
99 axis(xmin, xmax, ymin, ymax) dfinition manuelle des chelles )a&ant linstruction plot*
99 title".5itre$
99 xlabel"Ititre abcisse* 99 ylabel)Ititre ordonnes*
99 text#x,2,texte* place un texte aux coordonnes )x,2* du graphique
99 gtext#Itexte* place le texte % la souris
99 grid on fait appara:tre la grille sur le graphe.
99 hold on permet de tracer plusieurs courbes successi&ement sur le m$me graphe a&ec
remise % lchelle automatique % chaque nou&elle courbes. Les courbes doi&ent comporter
le m$me nombre de points. old off annule la superposition .
99 subplot permet de subdi&iser la fen$tre graphique et de tracer plusieurs courbes.
Sur Matlab 7, les graphiques sont des objets % part entire, dans lesquels sont inclus les donnes
graphiques. L(utilisateur peut modifier la reprsentation des donnes sans r#excution du calcul.
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink ;
Exemple de programme sous Matlab
Jsultat graphique8
Le graphique est modifiable -ditable- a&ec un outil de retouche K trs diffrent d(une &ersion % l(autre
de MatlabL. ,et outil existe aussi sous Scilab K&ersion prsenteL.
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink 9
%ests et #ontr&le de boucles
Instruction conditionnelle if
Le test suit les rgles usuelles des langages de programmation. La s2ntaxe des conditions est
celle du langage , 8
if condition1
instruction1J
elseif condition2
instruction2J
else instruction(@
end
La condition est construite autour d(un oprateur de relation du t2pe EE , 9 , A , 9E etc .
La condition peut $tre compose de plusieurs tests relationnels relis par -M- ou par - N - .
chaque condition peut $tre in&erse par complmentation )signe - O -*.
<xemple 8
iF #nomre * 10& U V#nomre * 11 &
dis7# Dnomre com7ris entre 10 et 11D&@
end
Boucle while
La boucle while est tout aussi simple8
while condition
instruction1J
instruction2J
end
Boucle for
La boucle for a une structure naturelle. Le pas est optionnel. les boucles peu&ent $tre
imbriques.
for i + Balde H 7as H BalFin
instruction1J instruction2@
end
<xemple8
omega + 0/< @
deltaNt + 0/1 @
For "+ 1H<0 A deut de oucle
t#"& + " = deltaNt @ A construction du Becteur tem7s
4#"& + sin # omega = t#"& &@ A construction du Becteur de sortie
end A Fin de oucle
7lot# t J 4 & A trac gra71iLue
"l est possible de dfinir P comme un &ecteur et de le donner paramtre du for.
t + >1 H deltaNt H <0? @
For t /////// end
4ttention8 dans ce cas, ne pas indicer une &ariable a&ec t dans la boucle )indice non#entier*.
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink 10
#ration de nouvelles fonctions
La programmation M45L4/ repose sur des fichiers textes. 5out ensemble d(instructions peut
$tre transform en fonction pour une meilleure criture et une rutilisation dans d(autres programmes.
Dour transformer un ensemble d(instruction dites sous le bloc#notes en fonction,
Q* ajouter l(ent$te sui&ant au texte 8
function KparamRretourQ, paramRretour?,...L E ma!fonction ) paramRentreeQ, paramRentree?,...*
A "ignes de commentaires qui serviront de #help#
debut instructions fonction
instruction1
instruction$%%..
fin fonction
?* sau&egarder le texte a&ec comme nom de fichier le nom ma!fonction % m )extension %m
obligatoire pour $tre reconnue comme fonction* dans un rpertoire accessible % Matlab.
Fne fois sau&egarde, la fonction est utilisable dans tout programme, comme toute autre
fonction du no2au Matlab.
<xemple8
Function >aJJcJd? + ord2#0nJ 3&
A >AJ-J6J5? + OQ52#WnJ X& retourne les matrices AJ-J6J5 re7rsentant sous Forme
A tat continu un s4stKme du second ordre de FrLuence 7ro7re Wn et dDamortissement X/
A >commentaire aFFic1 7ar le G1el7G de la Fonction?
iF nargout++)J A $riFication 7rsence 7aramKtres de retour
a + >0 1@-0n=0nJ -2=3=0n?@
+ >0@1?@
c + >1 0?@
d + 0@
end
4 la diffrence des langages usuels, le nombre de paramtres d(entre ou de sortie dans une
fonction peut $tre &ariable. Le nombre de paramtres passs se teste par les fonctions nargin et nargout .
,ette fonctionnalit permet de dfinir un usage multiple d(une m$me fonction, selon le nombre de
paramtres introduits % l(appel de la fonction. Le t2pe des paramtres )scalaire, matrice...* n(est pas non
plus prcis ce qui offre une grande souplesse. Dar un test )isnumeric, ischar, iscomplex...* % l(intrieur
m$me de la fonction, il est possible de modifier le comportement de la fonction selon le t2pe.
"l est donc possible de crer des nou&elles fonctions trs facilement % partir des fonctions
existantes pour constituer une bibliothque dans un domaine d(application appele Toolbox ) Signal
Drocessing 5oolbox , ,ontrol 5oolbox... *. Fne bibliothque est donc un ensemble de fichier textes
modifiables &entuellement par l(utilisateur pour ses propres besoins. <lle peut comprendre aussi des
fonctions compiles dont la &itesse d(excution est plus grande .
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink 11
'$ - Les s4stKmes en AutomatiLue
Matlab permet reprsenter directement les s2stmes dcrits par leur fonction de transfert.
Dlusieurs reprsentations sont possibles 8 pol2nomiale, p+les et Sros ou tat. le logiciel dispose des
outils ncessaires pour passer d(une forme % l(autre et pour tudier les rponses de ces s2stmes. ,es
outils sont applicables sur les s2stmes continus et les s2stmes discrets.
"orme pol'nomiale
1n considre que la fonction de transfert / p est crite sous la forme 8
/ p =
b
m
p
m
b
mQ
p
mQ
mQ
.. . b
>
a
n
p
n
a
nQ
p
nQ
.. . a
>
,ette fonction de transfert se dfini en Matlab sous forme de deux &ecteurs ligne reprsentatifs
des coefficients des pol2n+mes du numrateur et du dnominateur.
99 nume & >
b
m
b
mQ
.. . . b
>
? et 99 deno + K
a
n
a
nQ
.. . a
>
L
Les noms utiliss pour la description sont gnriques )&ous pou&eS donner un autre nom au
numrateur ou au dnominateur*
La fonction '( permet de dfinir un sst0me % partir de sa forme pol2nomiale
** monNs4steme + T9#numeJ deno&/
Le sst0me de&ient une entit objet qui pourra $tre manipule directement.
Dar dfaut, le s2stme est suppos reprsenter un s2stme continu de la &ariable (p( ou (s( pour
les anglophones. La reprsentation supporte les s2stmes M"M1 .
0ote8 Sous Scilab, les s2stmes ont une reprsentation directe qui s(appuie sur la reprsentation
s2mbolique des pol2n+mes. Fn pol2n+me de la &ariable x est dfini s2mboliquement par 8
-->x = poly( 0 , 'x') ; //dfinition de la variable symbolique du polynome
-->monpoly = !"x#$ % &0"x % & ;
Un systme dcrit par fonction de transfert est une fraction rationnelle de 2 polynmes:
-->' = (("x)/( !"x#$ % &0"x % & ) ; monsyst = syslin(')', ' ) ; //option ')' pour syst*me )ontinu
S'stme $ retard pur
"l est frquent qu(un s2stme comporte ph2siquement un retard pur )par exemple coulement
d(un fluide dans un canal de transport* . de plus, les modles de reprsentation usuels )/roTda, Strejc*
font inter&enir un retard pur dans la fonction de transfert. Matlab prend en compte un retard en
indiquant cette proprit dans la description du s2stme. cette proprit peut $tre ajoute ds la
description initiale ou ultrieurement.
** monNs4steme + T9#numeJ denoJ Diodela4D J BaleurNretard &/
ou
** monNs4steme + T9#numeJ deno& puis ** set#monNs4stemeJDiodela4DJ BaleurNretard&
Pour Scilab, consulter le document de L. Povy page !2
"orme (ros)p&les
3ans cette reprsentation, on considre que / p est reprsente sous la forme 8
/ p = 1
p 2
Q
. .. p 2
n

p p
Q
.. . p p
n

,ette fonction de transfert se dfini en Matlab sous forme de deux &ecteurs lignes reprsentatifs
des racines du numrateur et du dnominateur.
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink 12
99 mesN3eros E K
2
Q
2
?
.. .. 2
n
L et 99 mesN7oles E K
p
Q
p
?
.. . p
n
L.
L(entit s2stme se dfinit % partir des Sros et p+les par la fonction )*+ 8
monNs4steme + XPY#mesN3erosJ mesN7olesJ Y&
. La fonction pzmap permet de reprsenter les p+les et Sros dans le plan complexe.
"ette forme de reprsentation n#est pas utilise sous Scilab
"orme tat
3ans cette reprsentation, le s2stme continu est dcrit par les matrices %3+3C et 4 8

( = % ( + u
5 = C ( 4 u
Matlab est tout particulirement adapt % cette reprsentation. "l suffit donc de dfinir les
matrices caractristiques et de construire le s2stme a&ec la fonction ss 8
monNs4stemeNetat + SS # AJ -J 6J 5& @
Sous Scilab, un systme continu est dcrit par : monsystemeetat = syslin( ')' , +, ,, -, .) ;
#angement de reprsentation
3epuis les &ersions @ et 7 incluant la notion de s2stme, le changement de reprsentation des
s2stmes continus est trs facile puisqu(il suffit de dfinir le nou&eau s2stme % partir de l(ancien.
monNs4steme + tF#numeJ deno&
s4stNetat + tF2ss#monNs4steme&
s4stN37 + ss237"#s4stNetat& ou s4stN37 + 37#monNs4steme&
Les p+les et Sros d(un s2stme sont donns directement par 37"data#s4s&
Passage continu *)+ cantillonn
5out s2stme continu peut $tre transform en s2stme discret qui&alent.
s4stemeNdiscret + c2d# s4stemeNcontinuJ Tec1J DMet1odD&
Les mthodes proposes sont des approximations )<uler, trapSe, 5ustin..*. <lles ne
correspondent pas au mthodes exactes dfinies dans les cours d(4utomatique )exponentielle de la
matrice ou transforme en 2*
. ,ponse temporelle
La rponse temporelle est obtenue sur un s2stme quelconque par simulation. Les diffrentes
possibilits offertes par Matlab sont8
y&impulse(systeme,t ) calcul de la r7onse im7ulsionnelle 7our les instants dFinis 7ar le Becteur t
y&step(systeme, t) calcul de la r7onse indicielle 7our les instants dFinis 7ar le Becteur t
y&lsim(systeme,u,t) calcul de la r7onse I lDentre u 7our les instants dFinis 7ar le Becteur t
0ote8 la dfinition du &ecteur temps est optionnelle. en l(absence de &ecteur temps, la fonction arr$te le
calcul lorsque le rgime final est atteint.
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink 1(
,ponses fr!uentielles
Les diffrentes rponses frquentielles usuelles
bode(systeme,w) lieu de -ode 7our les 7ulsations du Becteur 0
nyquist(systeme,w) lieu de 24Luist 7our les 7ulsations du Becteur 0
nichols(systeme,w)
lieu de -lac" 7our les 7ulsations du Becteur 0 @ ngrid
7ermet de Faire a77araZtre les Baleurs de la oucle ouBerte
,marge-ain,marge*hase,.cg,.cp/ &
margin(systeme)
calcul des marges de gain et de 71aseJ ainsi Lue de leur
7ulsations associes
0ote8 la dfinition du &ecteur frquence est optionnelle. en l(absence de &ecteur frquence, la
fonction arr$te le calcul lorsque la rponse frquentielle atteint une as2mptote.
#ascade de fonctions de transfert et boucle
Matlab permet de dterminer les fonctions de transfert de s2stmes en cascade, en parallle,
boucl en retour unitaire ou boucl par un transfert quelconque.
systeme0 & series(systeme1,systeme$) mise en cascade de deu8 Fonctions de transFert
systeme0 & parallel(systeme1,systeme$) mise en 7arallKle de deu8 Fonctions de transFert
systemebf & cloop(systeme,sign) calcul de la Fonction de transFert oucle 7our un retour
unitaire
systeme0 & feedbac1
(systeme1,systeme$,sign)
calcul de la Fonction de transFert oucle 7our un retour
LuelconLue
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink 1)
$ - Simulin"
Le 5oolbox SimulinP est une fonction lance depuis Matlab qui donne accs % une description
graphique des problmes a&ec application au traitement du signal, lautomatique classique, la logique
floue...
La base est une description en schma#bloc hirarchique, chaque bloc tant une fonction
dcrite en langage Matlab ou % partir dautres blocs. Dour lutilisateur, la description et lexcution de
Matlab est transparente dans les problmes usuels. "l ne se proccupe que de la construction graphique
de son problme a&ec &entuellement cration de nou&eaux blocs pour les problmes a&ancs. La
sau&egarde des applications SimulinP est un fichier texte d(extension m .
Dour dmarrer SimulinP, frapper dans la fen$tre de commande 8
** simulin"
ou bien appu2er sur le bouton de la fen$tre principale de Matlab.
3s le lancement, SimulinP propose dans une fen$tre la bibliothque des structures prdfinies
usuellement rencontres, ainsi que les objets graphiques dfinis dans les 5oolbox.
-ouvelle feuille
Dar appui sur 9ile -*ne0, une fen$tre &ide est ou&erte pour construire le schma graphique. La
construction graphique se fait par -drag and drop- depuis les lments de la bibliothque. Fn double#
clic sur un lment permet d(en faire appara:tre les proprits.
USTL - Master ASE M1 Outils de simulation - 2009-2010
Matlab/Simulink 1<
Menus
,es menus donnent accs au contr+le gnral de l(application.
menu 6file68 permet de crer une fen$tre &ide pour un nou&eau schma , de rappeler
un schma prcdent ou de faire une sau&egarde.
menu 6simulation6 8 permet de fixer les paramtres d(une simulation, de la lancer ou de la
stopper. Le pas de calcul et le temps total de simulation doi&ent $tre
adapts au problme % traiter )chelle des temps % ma:triser*.
.iaisons
La liaison entre les blocs se fait par c'blage % la souris dont le fonctionnement est implicite en
labsence de toute slection souris. Les entres de bloc sont gnralement % gauche et les sorties %
droite, les liaisons tant orientes sortie#bloc#prcdent &ers entre#bloc#sui&ant .
Fn branchement )jonction* se fait en pointant la liaison sur laquelle le branchement se fait, puis
en maintenant la touche -control- du cla&ier enfonce, en dplaUant la souris . L(amaorce du
branchement est alors faite.
multiplexeur et dmultiplexeur
,(est un bloc particulier. il permet de passer plusieurs signaux dans une m$me liaison. "l est
indispensable pour certains blocs prdfinis )blocs % entre ou sortie du t2pe #ecteur*, utile pour
&isualiser deux signaux sur le scope , ou passer simplement plusieurs paramtres &ers Matlab.
Le dmultiplexeur excute la fonction in&erse.
Lensemble de ces outils permettent de crer trs rapidement un schma de simulation
incluant des fonctions du Qer ordre, ?me ordre, des gains, des sommateurs des boucles. La simulation
elle#m$me se lance par le menu simulation, aprs a&oir dfini la mthode de rsolution des quations
diffrentielles caractrisant certains blocs ) <uler, Jange#Vuta dordre ?= ou W@, 4dams...* et la
prcision souhaite.
<xemple de construction d(un schma de simulation8
USTL - Master ASE M1 Outils de simulation - 2009-2010
Lancement de
la simulation
Matlab/Simulink 1%
#ommunication avec Matlab
La communication a&ec Matlab se fait a&ec des blocs wor!space d(entre ou de sortie dans
lesquels l(utilisateur donne le nom du &ecteur utilis sous Matlab .
3ans les &ersions actuelles, deux approches possibles )la deuxime est prfrable parce que
plus explicite et plus gnrale*8
# placer un bloc in ou out dans le schma et paramtrer la simulation % partir du menu
simulation ##9 parameters . La taille du orPspace de sortie doit $tre adapt au nombre de points de
calculs )fix par dfaut % Q>>>, &aleur presque toujours insuffisante*. La mthode de simulation tant
gnralement % pas &ariable, il est conseill de ren&o2er le &ecteur des instants de simulation )inutile si
ce &ecteur a t donn en entre;*.
# placer un bloc from wor!space ou to wor!space et le paramtrer. L(utilisateur retrou&e dans le
wor!space de sortie les &aleurs issues du rsultat numrique de la simulation pour chaque instant, sous
forme d(un tableau )arra* de rsultats de simulation. Le mode -structure- permet de retrou&er le signal
par notation objet, en incluant les instants de simulation si ncessaire.
Dour retrou&er les lments dans la structure de donnes, il suffit de parcourir l(arborescence de
l(objet. 3ans l(exemple ci#dessus, la structure est la sui&ante 8
simNdata + timeH > <)81 doule?
signalsH > 181 struct?
loc"2ameH DmaNsimulation!To Wor"s7aceD
Les &aleurs de la sortie de la fonction de transfert sont accessibles par 8
A + simNdata/signals/Balues# H J 2 &
"l est ainsi possible de mixer des calculs fait sous Matlab a&ec d(autres mens en simulation.
Darmi les nombreuses autres fonctionnalits utiles, il est possible de retrou&er une
reprsentation de t2pe tat ou transfert d(une simulation SimulinP linarise autour d(un point de
fonctionnement par ,num,den/ & linmod(2sys2, x, u) oX x est l(tat initial et u un &ecteur d(entre amenant le
s2stme % un point de fonctionnement donn.
SimulinP offre aussi des perspecti&es de programmation classique, gr'ce % des fonctions de test
)bloc iF et case*, de boucle )blocs For et 01ile *et de contr+le de structure )bloc call *.
USTL - Master ASE M1 Outils de simulation - 2009-2010

Vous aimerez peut-être aussi