une brève introduction à matlablmee.univ-evry.fr/~hello/ens/cs93/matlab/cours... · 2016. 10....

22
Une Br` eve Introduction ` a Matlab Ga¨ etan Hello Universit´ e d’Evry Val d’Essonne UFR S&T - Laboratoire de M´ ecanique et d’Energ´ etique d’Evry [email protected] Semestre de Printemps 2014 [email protected] (UFR ST Evry) Introduction ` a Matlab Semestre de Printemps 2014 1 / 22

Upload: others

Post on 18-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

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,

Une Breve Introduction a Matlab

Gaetan Hello

Universite d’Evry Val d’EssonneUFR S&T - Laboratoire de Mecanique et d’Energetique d’Evry

[email protected]

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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 19: 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,

Figure

[email protected] (UFR ST Evry) Introduction a Matlab Semestre de Printemps 2014 19 / 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,

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,

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,

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