Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10....
Transcript of Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10....
![Page 1: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/1.jpg)
Une Breve Introduction a Matlab
Gaetan Hello
Universite d’Evry Val d’EssonneUFR S&T - Laboratoire de Mecanique et d’Energetique d’Evry
Semestre de Printemps 2014
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 1 / 22
![Page 2: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/2.jpg)
1 Le logiciel
2 Variables et fonctions
3 Boucles et instructions conditionnelles
4 Graphiques
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 2 / 22
![Page 3: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/3.jpg)
1 Le logicielGeneralitesInterface graphiqueEditeur de programme
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 3 / 22
![Page 4: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/4.jpg)
Generalites
I Le logiciel Matlab est un environnement de simulation numeriqueconvivial dote de nombreuses fonctionnalites adaptees aux besoins ensciences et techniques,
I Matlab est egalement un langage informatique interprete de hautniveau,
I Le logiciel est largement utilise tant dans le monde industrielqu’academique en raison principalement de sa souplesse deprogrammation et de la richesse des bibliotheques disponibles,
I Matlab etant un logiciel proprietaire payant, on pourra eventuellementse tourner vers les alternatives free et open-source que sont Scilab etOctave.
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 4 / 22
![Page 5: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/5.jpg)
Interface graphique Matlab R2012b
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 5 / 22
![Page 6: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/6.jpg)
Interface graphique Matlab R2012b
I Command Window : fenetre dans laquelle l’utilisateur peut donnerdes instructions a Matlab sous forme de commandes tapees au clavier(ex : a=3 ;b=a+2 ;),
I Workspace : propose une interface permettant d’explorer les differentsobjets que l’utilisateur a crees en memoire,
I Current Folder : donne acces aux fichiers contenus dans le repertoirede travail actuel de Matlab,
I Command History : liste les commandes successivement tapees parl’utilisateur dans la command window.
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 6 / 22
![Page 7: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/7.jpg)
L’editeur de programme
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 7 / 22
![Page 8: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/8.jpg)
L’editeur de programme
I lorsque l’utilisateur souhaite realiser des traitements qu’il serait tropfastidieux de definir dans la command window, il est possible deregrouper les instructions dans un fichier de commande (fichier .m),
I chaque script/programme/fonction cree par l’utilisateur est stockedans un fichier ASCII .m qu’il sera possible de lire/modifier avec unediteur de texte,
I l’execution des commandes contenues dans un script .m se fait en”appelant” ce script par son nom dans la command window,
I il est egalement possible de ”lancer” le programme a partir del’editeur en cliquant sur RUN (ou en pressant F5).
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 8 / 22
![Page 9: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/9.jpg)
2 Variables et fonctionsVariablesFonctions et operations
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 9 / 22
![Page 10: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/10.jpg)
Variables
I des nombres
a=10;
b=a*3.5;
I des chaines de caracteres
nomCoursPrefere=’Modelisation et Simulation’;
I des tableaux (de nombres par exemple)[1 2 34 5 6
](1)
maMatrice=[1,2,3;4,5,6];
I lecture/ecriture dans un tableau
a=maMatrice(2,3);%a vaut donc 6 ici
maMatrice(2,3)=a+1;%la case 2,3 contient desormais 7
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 10 / 22
![Page 11: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/11.jpg)
Fonctions
I zeros : permet d’initialiser un tableau de dimensions donnees en leremplissant de 0,
maMatrice=zeros(2,3);
I rand : permet d’initialiser un tableau de dimensions donnees en leremplissant aleatoirement de valeurs ∈]0, 1[,
maMatrice=rand(2,3);
I sqrt : square root - racine carree
a=sqrt(2);
I cos, sin... : fonctions trigonometriques
a=cos(pi/4);
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 11 / 22
![Page 12: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/12.jpg)
Operations
I somme et produits de matrices et vecteur
A=[1,2;3,4];
b=[1;2];
c=A*b;
B=A*A;
I transposition B = AT
A=[1,2;3,4];
B=A’;
I la resolution d’un systeme lineaire A · x = b
A=[1,2;3,4];
b=[5;11];
x=zeros(2,1);
x=A\b;
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 12 / 22
![Page 13: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/13.jpg)
3 Boucles et instructions conditionnellesBoucle forBoucle while
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 13 / 22
![Page 14: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/14.jpg)
Boucle for
On souhaite calculer la somme Sn des n premiers entiers :
Sn =n∑
i=1
i (2)
n=10;
somme=0;
for i=1:n
somme=somme+i;
end
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 14 / 22
![Page 15: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/15.jpg)
Boucle while (1)
On souhaite calculer la somme Sn des n premiers entiers :
Sn =n∑
i=1
i (3)
n=10;
somme=0;
i=0;
while(i<n)
i=i+1;
somme=somme+i;
end
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 15 / 22
![Page 16: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/16.jpg)
Boucle while (2)
On souhaite calculer la somme Sn des n premiers entiers :
Sn =n∑
i=1
i (4)
n=10;
somme=0;
test=false;
i=0;
while(test==false)
i=i+1;
somme=somme+i;
if(i==n)
test=true;
end
end
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 16 / 22
![Page 17: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/17.jpg)
4 GraphiquesFigureAffichage de multiples entitesEntites graphiques et parametres
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 17 / 22
![Page 18: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/18.jpg)
Figure
On souhaite afficher la courbe representative de la fonction cosinus pourθ ∈ [0, 2π].
nTheta=100;
theta=zeros(nTheta,1);
cosDeTheta=zeros(nTheta,1);
for i=1:nTheta
theta(i,1)=(i-1)*2*pi/(nTheta-1);
cosDeTheta(i,1)=cos(theta(i,1));
end
figure(1)
plot(theta,cosDeTheta,’marker’,’o’,’color’,[0,1,0],’linestyle’,’-’);
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 18 / 22
![Page 20: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/20.jpg)
Affichage de multiples entites
On souhaite afficher les courbes representatives des fonctions cosinus etsinus pour θ ∈ [0, 2π].
nTheta=100;
theta=zeros(nTheta,1);
cosDeTheta=zeros(nTheta,1);
sinDeTheta=zeros(nTheta,1);
for i=1:nTheta
theta(i,1)=(i-1)*2*pi/(nTheta-1);
cosDeTheta(i,1)=cos(theta(i,1));
sinDeTheta(i,1)=sin(theta(i,1));
end
figure(1)
hold on
plot(theta,cosDeTheta,’marker’,’o’,’color’,[0,1,0],’linestyle’,’-’);
plot(theta,sinDeTheta,’marker’,’+’,’color’,[0,0,1],’linestyle’,’--’);
hold off
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 20 / 22
![Page 21: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/21.jpg)
Affichage de multiples entites
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 21 / 22
![Page 22: Une Brève Introduction à Matlablmee.univ-evry.fr/~hello/ENS/CS93/MATLAB/COURS... · 2016. 10. 5. · I Matlab est egalement un langage informatique interpr et e de haut niveau,](https://reader036.fdocuments.in/reader036/viewer/2022071421/611a7fff71a9c43a4a0fc21a/html5/thumbnails/22.jpg)
Entites graphiques et parametres
I grid : superpose une grille sur la figure courante,
I box on : pour afficher une boıte autour de la figure courante,
I xlim, ylim : pour borner les abscisses et ordonnees de la figure,
I legend : pour afficher la legende,
I xlabel , ylabel : pour donner des titres aux axes,
I title : pour donner un titre au graphique.
grid;
box on;
xlim([-pi/2,pi/2]);
ylim([-1,1]);
legend(’courbe1’,’courbe2’);
xlabel(’axe des abscisses’);
ylabel(’axe des ordonnees’);
title(’Mon graphique’);
[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 22 / 22