Vous êtes sur la page 1sur 4

AC220

Quentin DAVID
Benjamin DEFORGE
mercredi 21 novembre 2007
TP n1
Initiation au logiciel MatLab et Simulink

Au cours de ce TP, nous allons approcher le logiciel MathLab travers plusieurs exemples. Dans
un premier temps nous tudierons quelque oprations basiques du calcul matriciel, de faon prendre
en main les commandes. La deuxime partie sera consacre ltude du mouvement dun pendule
simple, laide de Simulink. Ce logiciel nous permettra, laide de schmas blocs, de simuler le
comportement diffrentiel du pendule.

I. Manipulations algbriques de base


Rinitialiser lenvironnement de travail (dans un nouveau fichier):
o Clear all
o Close all
o Clc
Appuyer sur Run, et tout est rinitialis (fentres, variables)

1 2 3
Crer une matrice A :

A=[ 1 2 3 ; 4 5 6 ; 0 0 1] cre la matrice A= 4 5 6


0 0 1
Dterminant de A : det A=65

1 4 0
Valeurs propres de A : eig(A) ; ici on obtient trois vp (-0.4641, 6.4641, 1.0000)

Transpose : B = A= 2 5 0
3 6 1

1.6667 0.6667 1.0000
Inverse de A : inv(A) ou A^(-1) : C=inv(A) = 1.3333
0.3333
2.0000
0 0 1.0000
14 32 3
Produit matriciel : AxB = A * B = 32 77 6
3 6 1
3 6 9
Produit dun nombre par une matrice : E=3xA=3 *A=12 15 18
0 0 3
1 8 0
Produit terme terme de deux matrices : F=A.*B=F =8 25 0
0 0 1
3 0 0
Matrice identit de mme dimension que A, cest dire 3 : eye(3)= 0 3 0
0 0 3

1  1
Matrice G de dimension (20x10) ne contenant que des 1 :

G=ones(20,10) =    
1  1

Matrice H correspondant aux lignes 2 3 et aux colonnes 1 2 de la matrice A :

4 5
H=A(2:3,1:2)

0 0
H =
Ce qui correspond bien aux lignes 2 3 et aux colonnes 1 2 de A.

1
AC220
Quentin DAVID
Benjamin DEFORGE
mercredi 21 novembre 2007
TP n1

0.1000
Vecteur colonne I contenant les valeurs comprises dans lintervalle [0,10] avec un pas de 0,1 :

 0.2000 
I=(0 :1/10 :10)= 
9.9000
10.0000
On met un pour que le rsultat soit sous la forme dun vecteur colonne. La syntaxe est la suivante : (borne de
dpart :pas :borne darrive).
J=logspace(a,b,n) avec 10 borne de dpart, 10 borne darrive et n nombre de valeurs. On ajoute le
a b

pour spcifier quon veut un rsultat colonne.


II. Manipulations de donnes, fichiers de commande, fonctions
On sauvegarde A,B,C dans un fichier sauve.mat (on les slectionne et on clique droit/Save Selection As)
Pour rinitialiser, on ouvre le fichier contenant le code que nous avions tap (clear, clc), puis on clique
sur Run.
On quitte MatLab.
On relance MatLab et on se place dans le rpertoire de travail.
On importe les matrices A,B et C en cliquant droit dans la fentre Workspace et on slectionne Import
Data
On dite un nouveau fichier : File/New->M-file
On tape :
F=(A-B) * C
E=[1 1 1]'
G=C*E
On enregistre le script, puis on fait Run, et on constate que les matrices F, E et G sont accessibles dans la
fentre Workspace.
III. Simulations et graphiques
Pour simuler le comportement dun pendule simple, on cre deux fichiers .m :
o Pendule.m , qui dfinit le pendule :
 function dx = pendule(t,x)
 dx = zeros(2,1); % on cre un vecteur colonne
 dx(1) = x(2); % on saisit les equa diffs
 dx(2) = (-9.81/0.5)*sin(x(1));
o exec.m, qui sert tracer les courbes demandes :
 [T,X] = ode23(@pendule,[0 2],[pi/2 0]); %on simule le comportement du pendule
 subplot(3,1,1); %on spare lcran
 plot(T,X(:,1),'b');%on trace langle en fonction du temps
 xlabel('temps') ; ylabel('angle') ;
 subplot(3,1,2);
 plot(T,X(:,2),'r');%on trace la vitesse en fonction du temps
 xlabel('temps') ; ylabel('vitesse') ;
 subplot(3,1,3);
 plot(X(:,1),X(:,2),'b');%on trace la vitesse en fonction de langle
 xlabel('angle') ; ylabel('vitesse') ;
On obtient les courbes suivantes :

2
AC220
Quentin DAVID
Benjamin DEFORGE
mercredi 21 novembre 2007
TP n1

IV. Utilisation de simulink


1) Simulation de la fonction de transfert

Afin de simuler le pendule simple, on insre sur le schma bloc une fonction de transfert, une entre
Sine wave, et une sortie scope, afin que lon puisse visualiser le signal de sortie. Le but est maintenant
de calculer la fonction de transfert adquate, et de faire varier le signal sinusodal dentre, pour
visualiser les effets sur la sortie.
Afin de procder la simulation, il faut dfinir la fonction de
transfert. On dtermine alors la transforme de Laplace de
lentre.

car on a suppos que .


Soit F la fonction de transfert, on note X lentre et U la sortie.
On a alors

On implmente alors cette fonction de transfert dans le bloc Transfert Function, en posant .
On visualise le scope (la sortie), en faisant
varier la frquence dentre. On obtient,
notamment avec la frquence gale la
frquence de rsonnance du pendule
( ):

Y(t)

3
Temps (s)
AC220
Quentin DAVID
Benjamin DEFORGE
mercredi 21 novembre 2007
TP n1
On ajoute ensuite un terme damortissement car en fait ce graphe ne reprsente pas la ralit : au bout
dun moment on ne peut plus dire que (langle devient trop important). Pour cela, on
transforme lquation de dpart en
. La transforme
de laplace devient .
Donc la fonction de transfert devient
.
Y(t)
La sortie obtenue est ci-contre. On
observe que cela ne diverge plus, grce
au coefficient damortissement (de 2 ici).

Temps (s)

2) Simulation non linaire

On ralise ci dessus la simulation du systme en fonctionnement non linaire. Nous navons pas eu le
temps danalyser les rsultats obtenus.

V. Conclusion
Ce TP nous a permis plusieurs choses. Tout dabord nous avons pris en main MathLab et
les outils associs permettant de rsoudre des quations diffrentielles et de simuler des
comportements de systme. De plus, nous avons pu appliquer les transformations de Laplace
vues en cours afin de paramtrer les schma blocs. Nous sommes dsormais capable dutiliser
Mathlab pour rsoudre des problmes physiques.

Vous aimerez peut-être aussi