Vous êtes sur la page 1sur 51

Introdu

tion à Matlab

Prof. Abderrahim BENNASSAR


E ole Maro aine d'inGénierie

ab.bennassargmail. om

26 avril 2019

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Présentation générale de Matlab
Qu'est e que Matlab ?
Matrix laboratory est un logi iel de al ul s ientique ;
ommer ialisé par la so iété MathWorks ;
son interfa e propose :
une fenêtre intera tive type onsole pour l'exé ution de ommandes ;
un environnement de développement intégré (IDE) pour la
programmation d'appli ations.

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Présentation générale de Matlab
Qu'est e que Matlab ?
Matrix laboratory est un logi iel de al ul s ientique ;
ommer ialisé par la so iété MathWorks ;
son interfa e propose :
une fenêtre intera tive type onsole pour l'exé ution de ommandes ;
un environnement de développement intégré (IDE) pour la
programmation d'appli ations.
pas de ompilation des programmes avant exé ution ;
é rire des programmes s ientiques ave n'importe quel autre
langage traditionnel.

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Présentation générale de Matlab
Qu'est e que Matlab ?
Matrix laboratory est un logi iel de al ul s ientique ;
ommer ialisé par la so iété MathWorks ;
son interfa e propose :
une fenêtre intera tive type onsole pour l'exé ution de ommandes ;
un environnement de développement intégré (IDE) pour la
programmation d'appli ations.
pas de ompilation des programmes avant exé ution ;
é rire des programmes s ientiques ave n'importe quel autre
langage traditionnel.
Pourquoi Matlab ?
permettre le travail intera tif sans apprendre le Fortran ou le C ;
la possibilité de faire des visualisations graphiques.
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Présentation générale de Matlab
Parti ularités de Matlab :
Considéré omme un des meilleurs langages de programmation, Matlab
possède les parti ularités suivantes :
modélisation de systèmes physiques ;
simulation de modèles mathématiques ;
développement algorithmique ;
on eption et la validation d'appli ations ;
graphismes 2D et 3D . . .

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Présentation générale de Matlab
Parti ularités de Matlab :
Considéré omme un des meilleurs langages de programmation, Matlab
possède les parti ularités suivantes :
modélisation de systèmes physiques ;
simulation de modèles mathématiques ;
développement algorithmique ;
on eption et la validation d'appli ations ;
graphismes 2D et 3D . . .
Le logi iel de base peut être omplété par :
Toolbox (boîtes à outils) qui sont des bibliothèques de fon tions
dédiées à des domaines parti uliers (télé oms, traitement du signal,
traitment d'image, . . .) ;
Simulink pour la programmation graphique.
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Présentation générale de Matlab

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Présentation générale de Matlab

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Présentation générale de Matlab

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Présentation générale de Matlab

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Présentation générale de Matlab

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Environnement Matlab
Interfa e prin ipale :

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Environnement Matlab
Interpréter une ligne de ommande :
les instru tions sont interprétées dès qu'on a tapé sur  Entrée .
a her l'aide via la ommande help :
 help
liste tous les thèmes
 help
fournit de l'aide sur l'utilisation de la ommande spé iée

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Environnement Matlab
Interpréter une ligne de ommande :
les instru tions sont interprétées dès qu'on a tapé sur  Entrée .
a her l'aide via la ommande help :
 help
liste tous les thèmes
 help
fournit de l'aide sur l'utilisation de la ommande spé iée
Mode de fon tionnement :
Mode intera tif (ou interprété) :
Chaque ommande est exé utée dés que l'on appuie sur la tou he
 entrée  ;
Mode programme :
On peut éditer une série d'instru tions dans un  hier que l'on
appellera un   hier.m .
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Espa e de travail
Variables :
sont des noms qui jouent un role fondamental dans tout langage de
programmation ;
peuvent représenter des données, des ve teurs, des matri es, des
listes de ara tères . . . ;
sto kées en mémoire vive sous forme binaire.

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail
Variables :
sont des noms qui jouent un role fondamental dans tout langage de
programmation ;
peuvent représenter des données, des ve teurs, des matri es, des
listes de ara tères . . . ;
sto kées en mémoire vive sous forme binaire.
Type de variables :
entière : x = 123
réelle : x = 45.895
omplexe : x = i
ara tère : x = 'test'
logique : x = 1 > 2
...
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Espa e de travail

Nom de variable :
ommen er par une lettre (a-z ou A-Z) ;
ne ontenir ni blan s, ni ara tères de pon tuation, ni ara tères
a entués, . . .
Matlab fait la diéren e entre les majus ules et les minus ules.

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail

Nom de variable :
ommen er par une lettre (a-z ou A-Z) ;
ne ontenir ni blan s, ni ara tères de pon tuation, ni ara tères
a entués, . . .
Matlab fait la diéren e entre les majus ules et les minus ules.
Variables et espa e de travail :
Toute variable est une matri e de dimensions m x n, ave m orrespond
au nombre de lignes, n orrespond au nombre de olonnes :
s alaire : 1 x 1 ;
ve teur ligne : 1 x n ;
ve teur olonne m x 1 ;
matri e m x n.
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Espa e de travail
Exemple :
x=2 ;
x*10
ans=
20

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail
Exemple :
x=2 ;
x*10
ans=
20
Un " ;" en n de ommande intérdit l'a hage du résultat.
Le résultat du dernier al ul est automatiquement ae té à  ans .

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail
Exemple :
x=2 ;
x*10
ans=
20
Un " ;" en n de ommande intérdit l'a hage du résultat.
Le résultat du dernier al ul est automatiquement ae té à  ans .
S'informer sur les variables :
who
your variables are :
x ans
whos
Name Size Bytes Class
x 1x1 1 double array
ans 1x1 1 double array
Grand total is 2 elements using 2 bytes
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Espa e de travail

Supprimer une (ou toutes) les variables :


 lear x
 lear all
Exemple :
x=2 ;
 lear x ;

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail

Supprimer une (ou toutes) les variables :


 lear x
 lear all
Exemple :
x=2 ;
 lear x ;
Entrer une valeur au lavier :
x=input('la valeur de x = ')
la valeur de x = 12
x=
12

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail

Supprimer une (ou toutes) les variables :


 lear x
 lear all
Exemple :
x=2 ;
 lear x ;
Entrer une valeur au lavier :
x=input('la valeur de x = ')
la valeur de x = 12
x=
12
A her un texte à l'é ran :
disp(' e i est un test')
e i est un test
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Espa e de travail

Formats d'a hage :


Par défaut, l'a hage est de 4 hires après la virgule (format short).
format short
format long
format short e
format long e,
format rat, . . .

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail

Formats d'a hage :


Par défaut, l'a hage est de 4 hires après la virgule (format short).
format short
format long
format short e
format long e,
format rat, . . .
Exemple :
pi
3.1416
format long
pi
3.141592653589793
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Ve teurs et matri es

Ve teur ligne 1 x n :
v=[5 6 7℄ % ou v=[5,6,7℄
v=
567
ou v(1)=5 ; v(2)=6 ; v(1,3)=7

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Ve teurs et matri es

Ve teur ligne 1 x n :
v=[5 6 7℄ % ou v=[5,6,7℄
v=
567
ou v(1)=5 ; v(2)=6 ; v(1,3)=7
Ve teur olonne m x 1 :
u=[5 ;6 ;7℄ % ou u=[5,6,7℄'
u=
5
6
7

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Ve teurs et matri es

Ve teur ligne 1 x n :
v=[5 6 7℄ % ou v=[5,6,7℄
v=
567
ou v(1)=5 ; v(2)=6 ; v(1,3)=7
Ve teur olonne m x 1 :
u=[5 ;6 ;7℄ % ou u=[5,6,7℄'
u=
5
6
7
Dimension et longueur d'un ve teur :
s=size(u) ;
l=lenght(u) ;
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Ve teurs et matri es

Matri es m x n :
A=[4,2,5 ;7,5,8 ;3,4,1℄
A=
425
758
341
ou A(1)=4 ; A(4)=7 ; A(5)=5

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Ve teurs et matri es

Matri es m x n :
A=[4,2,5 ;7,5,8 ;3,4,1℄
A=
425
758
341
ou A(1)=4 ; A(4)=7 ; A(5)=5

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Ve teurs et matri es
Il existe des matri es spé iques en utilisant des fon tions Matlab.

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Ve teurs et matri es
Il existe des matri es spé iques en utilisant des fon tions Matlab.
Exemple :
zeros(3,3) % matri e dont tous les éléments = 0
ans
000
000
000

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Ve teurs et matri es
Il existe des matri es spé iques en utilisant des fon tions Matlab.
Exemple :
zeros(3,3) % matri e dont tous les éléments = 0
ans
000
000
000
ones(3,4) % matri e dont tous les éléments = 1
ans
1111
1111
1111

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Ve teurs et matri es
Il existe des matri es spé iques en utilisant des fon tions Matlab.
Exemple :
zeros(3,3) % matri e dont tous les éléments = 0
ans
000
000
000
ones(3,4) % matri e dont tous les éléments = 1
ans
1111
1111
1111
eye(2,2) % matri e identité
ans
10
01
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Opérateurs arithmétiques
Opérations sur les matri es :
Symbole Opération Forme Matlab
+ Addition a+b
- Soustra tion a-b
* Multipli ation a*b
* Multipli ation point a point a.*b
/ Division à droite a/b
\ Division à gau he a\b
/ Division à droite point a point a./b
\ Division à gau he point a point a.\b
∧ Exponentiation a∧ b
Tab. 1  Opérations arithmétiques

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Polynmes

Un polynme est un ve teur ligne dont :


les éléments sont les oe ients du polynme ;
lassés dans l'ordre des puissan es dé roissantes.
Exemple :
p1=[2 -3 0 2 1℄ ; % p1(x)=2x -3x +2x+1
4 3

p2=[1 2℄ ; % p2(x)=x+2

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Polynmes

Un polynme est un ve teur ligne dont :


les éléments sont les oe ients du polynme ;
lassés dans l'ordre des puissan es dé roissantes.
Exemple :
p1=[2 -3 0 2 1℄ ; % p1(x)=2x -3x +2x+1
4 3

p2=[1 2℄ ; % p2(x)=x+2
Ra ines d'un polynme :
roots(p1)
ans =
1.1942 + 0.6524i
1.1942 - 0.6524i
-0.4442 + 0.2697i
-0.4442 - 0.2697i
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Polynmes
Cal ul de la valeur d'un polynme à un point donné :
polyval(p1,5)
ans =
886

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Polynmes
Cal ul de la valeur d'un polynme à un point donné :
polyval(p1,5)
ans =
886
Cal ul de oe ients d'un polynme à partir de ses ra ines :
ra ines=[3 4 6℄ ;
poly(ra ines) % x 3
− 13x 2 + 54x − 72
ans =
1 -13 54 -72

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Polynmes
Cal ul de la valeur d'un polynme à un point donné :
polyval(p1,5)
ans =
886
Cal ul de oe ients d'un polynme à partir de ses ra ines :
ra ines=[3 4 6℄ ;
poly(ra ines) % x 3
− 13x 2 + 54x − 72
ans =
1 -13 54 -72
Multipli ation de deux polynmes :
 onv(p1,p2)
ans

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Polynmes
Cal ul de la valeur d'un polynme à un point donné :
polyval(p1,5)
ans =
886
Cal ul de oe ients d'un polynme à partir de ses ra ines :
ra ines=[3 4 6℄ ;
poly(ra ines) % x 3
− 13x 2 + 54x − 72
ans =
1 -13 54 -72
Multipli ation de deux polynmes :
 onv(p1,p2)
ans
hh
Multipli ation de plusieurs polynmes :
 onv(p3, onv(p1,p2)) ;
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Polynmes

Division de deux polynmes :


p4=de onv(p1,p2)
p4
[q r℄=de onv(p1,p2)


A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Polynmes

Division de deux polynmes :


p4=de onv(p1,p2)
p4
[q r℄=de onv(p1,p2)

Dérivée d'un polynme :
d=polyder(p4)
d=
dd

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail
Fi hiers.m :
Pour éditer un  hier.m, on ouvre la fenetre d'édition par le menu :

File New M.le

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail
Fi hiers.m :
Pour éditer un  hier.m, on ouvre la fenetre d'édition par le menu :

File New M.le

Fi hiers s ripts :
ils sont omposés d'une série d'instru tions de Matlab ;
enregistrés omme  hier.m ;
exé utés séquentiellement dans l'espa e de travail.

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Espa e de travail
Fi hiers.m :
Pour éditer un  hier.m, on ouvre la fenetre d'édition par le menu :

File New M.le

Fi hiers s ripts :
ils sont omposés d'une série d'instru tions de Matlab ;
enregistrés omme  hier.m ;
exé utés séquentiellement dans l'espa e de travail.
Fi hiers de données :
sauvegarder une ou plusieurs variables dans un  hier spé ique
Matlab dont l'extension sera .mat ;
pour re harger un tel  hier, on utilise load nom du  hier
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Environnement graphique
Graphique 2D :
plot(x,y) : tra er y en fon tion de x
xlabel('abs') : a her 'abs' sur l'axe des x
xlabel('ord') : a her 'ord' sur l'axe des y
title('titre') : a her 'titre' en haut du graphe
gtex('texte') : a her 'texte' a l'endroit souhaite
grid : ajouter une grille
hold on : tra er plusieurs ourbes sur la meme gure

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Environnement graphique
Graphique 2D :
plot(x,y) : tra er y en fon tion de x
xlabel('abs') : a her 'abs' sur l'axe des x
xlabel('ord') : a her 'ord' sur l'axe des y
title('titre') : a her 'titre' en haut du graphe
gtex('texte') : a her 'texte' a l'endroit souhaite
grid : ajouter une grille
hold on : tra er plusieurs ourbes sur la meme gure
Graphique 3D :
plot3(x,y,z) : tra er z en fon tion de x et de y
surf(x,y,z) : tra er z en fon tion de x et de y
meshz(x,y,z) : omme surf mais ave le ontour des fa ettes
A. BENNASSAR Introdu tion à Matlab 26 avril 2019
Environnement graphique

Exemple graphique 2D :
Tra er la fon tion f1=sin(2πft) sur l'intervalle [-1,1℄ ave une fréquen e
f=1 Hz.

A. BENNASSAR Introdu tion à Matlab 26 avril 2019


Environnement graphique

Séparation en plusieurs sous graphiques :


Il est possible de dé omposer une fenetre en sous-fenetres et d'a her une
gure diérente sur ha une de es fenetres en utlisant la ommande :
subplot(m,n,i)
Ave :
- m : nombre de sous-fenetres verti alement ;
- n : nombre de sous-fenetres horizontalement ;
- i : spe ier dans quelle sous-fenetre doit s'ee tuer l'a hage.

A. BENNASSAR Introdu tion à Matlab 26 avril 2019