Académique Documents
Professionnel Documents
Culture Documents
Introduction
à
MATLAB
Dr.W.CHELIA 2020-2021 1
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
I. INTRODUCTION :
Ce document est une introduction à MATLAB, un logiciel de calcul scientifique. Il a pour objectif de
préparer l’étudiant aux travaux pratiques de Mécanique et d’Analyse Numérique dans lesquels cet outil est
intensivement utilisé pour la mise en application et la simulation des principes théoriques. Par ailleurs, ce
manuel offre la possibilité à l’étudiant de se former à un logiciel professionnel largement répandu.
1 - Qu’est ce que MATLAB?
MATLAB est une abréviation de MATrix LABoratory. Ecrit à l’origine, en FORTRAN, par Cleve Moler,
MATLAB était destiné à faciliter l’accès au logiciel matriciel.
MATLAB comprend de nombreuses fonctions graphiques, un systeme puissant d’opérateurs s’appliquant à
des matrices, des algorithmes numeriques (EDOs, zeros d’une fonction, integration, interpolation), ainsi
qu’un langage de programmation extremement simple à utiliser.
MATLAB trouve ses applications dans de nombreuses disciplines. Il constitue un outil numérique puissant
pour la modélisation de systèmes physiques, la simulation de modèles mathématiques, la conception et la
validation (tests en simulation et expérimentation) d’applications.
2- L'environnement MATLAB :
L’environnement MATLAB se présente dans la figure1 :
Dr.W.CHELIA 2020-2021 2
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
- Workspace (espace de travail) : permet de visualiser les variables définies, leur type, la taille
occupée en mémoire…
- Command history : historique des commandes que l’utilisateur a exécutées. Il est possible de faire
glisser ces commandes vers la fenêtre de commande.
Remarque :
Help : c’est le menu d’aide, on utilise la commande help pour plus de précisions. Cette commande affiche
les commentaires de la fonction indiquée.
Exemple :
Exemple1 :
Dr.W.CHELIA 2020-2021 3
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
A la validation de l’instruction, l’interface affiche le résultat de cette dernière. Afin d’alléger l’affichage, un
point-virgule « ; » en fin de commande empêche le renvoie du résultat dans la fenêtre command window,
mais évidemment l’instruction est toujours exécutée (le variable est visible dans la fenêtre Workspace).
Exemple2 :
>> a=1,b=3;c=4
a=
c=
2-Opérations arithmétiques :
Les opérateurs les plus courants sont :
+ Addition
- Soustraction
* Multiplication
/ Division
^ Puissance
Nous avons tout pour effectuer une expression mathématique.
Exemple3 :
>> 1+5,1/2,5-3
ans =
ans =
0.5000
ans =
Dr.W.CHELIA 2020-2021 4
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple4 :
>> a=1,b=2+a,b*2
a=
b=
ans =
3-Nombres :
2.5 + 9.7i ou 1- 2j
Exemple5 :
>> i
ans =
Remarque :
On ne déclare pas les variables. Leur type (entier, réel, complexe) s’affectera automatiquement en fonction
du calcul effectué (typage automatique).
a-Format d'affichage :
Pour choisir le format d'affichage (Les chiffres après la virgule) pour les nombres, on utilise l'instruction
format :
Format short
Format long
Format short e
Format long e
Dr.W.CHELIA 2020-2021 5
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple6 :
>> 1/2
ans =
0.5000
>> 1/2
ans =
0.500000000000000
>> 1/2
ans =
0.5000
>> 1/2
ans =
5.000000000000000e-01 % 5 × 10−1
>> 1/2
ans =
5.0000e-01
b-Commandes générales :
La commande Signification
who affiche liste des variables de workspace
whos affiche les informations et les tailles des variables
clc efface affichage de command window
clear all supprime toutes les variables
exist - quit fermer l’environnement MATLAB
c-Les constantes :
Les principales constantes sont :
Dr.W.CHELIA 2020-2021 6
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
MATLAB permet de tracer facilement le graphe de fonctions scalaires. Cela se fait à l’aide de la fonction
«plot». Le format de base de la fonction plot est en fait le suivant :
plot(x,y,s) ;
Où x contient les absisses, y les ordonnées, et s’est une chaine de 1 à 3 caractères :
s= 'ctm', pour la couleur (c) et le style (tm), ex : r rouge (red), -- tirets (t), * étoiles (m)
Exemple :
𝑥2
On considère la fonction définie par 𝑦(𝑥) = 𝑒 (𝑥− 2 ) dans l’intervalle [0,5] avec un pas de 0.1 :
y=exp(x-x.^2/2);
plot(x,y,'r--*')
1-Mathématiques, géométrie :
La fonction Définition
cos(x) cosinus. (en radian π)
sin(x) sinus.
tan(x) tangente.
Dr.W.CHELIA 2020-2021 7
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
v=
1234
u=
1
2
3
L’opérateur deux-points «:», Il permet de discrétiser un intervalle avec un pas constant. La syntaxe est la
suivante : vecteur = valeur_initial : incrément : valeur_finale. Par défaut, le pas est égal à 1.
Exemple2 :
>> w = 0:5
w=
0 1 2 3 4 5
Exemple3 :
>> w = [0:0.2:1] % ou 0:0.2:1 Vecteur contenant des valeurs 0 à 1 avec un pas de 0.2
w=
Exemple4 :
>> x= [2 4 6]
x=
2 4 6
>> y= [x, 1, 2, 3]
y=
2 4 6 1 2 3
Dr.W.CHELIA 2020-2021 8
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
On peut accéder aux différents éléments d’un tableau en spécifiant un (ou des) indice(s) entre parenthèses.
Exemple5 :
>> v = [6 4 -1 3 7 9];
ans =
-1
>> v(2:4) % L’argument 2:4 permet de sélectionner un blocd’éléments (ici du second au quatrième)
ans =
4 -1 3
v=
5 4 -1 3 7 9
Exemple6 :
x=
0 3 6 9 12
1-2Fonctions vectorielles :
Ces fonctions sont plutôt destinées `a agir sur des vecteurs.
La fonction Signification
Dr.W.CHELIA 2020-2021 9
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple7 :
>> length(x)
ans =
2-Matrices :
En fait MATLAB est avant tout un outil matriciel, toutes les variables représentent des matrices. Par
exemple A=2 c'est un nombre réel comme une matrice 1x1.
On peut créer une matrice « [ ] » de plusieurs façons :
Les éléments d’une ligne de la matrice peuvent être s´épares au choix par un blanc (espace) ou bien par une
virgule (,). Les lignes quant `à elles peuvent ˆêtre s´éparées au choix par le point-virgule (;) ou par un retour
chariot (entrer).
Exemple8 :
>> A = [1,3;4,2]
A=
1 3
4 2
>> A = [1 3
4 2]
A=
1 3
4 2
>> A = [1,3
4,2]
A=
1 3
4 2
Dr.W.CHELIA 2020-2021 10
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple9 :
>> M=[11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
Figure2 : Matrice 10X9
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100];
>> M(:,6)
ans =
16
26
36
46
56
66
76
86
96
Dr.W.CHELIA 2020-2021 11
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple10 :
>> size(M)
ans =
3 3
>> det(M)
ans =
Dr.W.CHELIA 2020-2021 12
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple11 :
>> diag(M)
ans =
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
>> ones(3,2)
ans =
1 1
1 1
1 1
>> zeros(2)
ans =
0 0
0 0
Dr.W.CHELIA 2020-2021 13
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple12 :
>> A + B
ans =
3 1
2 12
>> A * B
ans =
-2 3
-30 27
ans =
2 6
1 9
ans =
1.0000 0
1.3333 0.3333
>> A / B
ans =
3.3333 0.3333
18.0000 3.000
>> A^2
ans =
10 11
66 87
Dr.W.CHELIA 2020-2021 14
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple13 :
>> A .* B
ans =
2 0
-24 27
>> B ./ A
ans =
0.5000 0
-0.6667 0.3333
>> A.^2
ans =
4 1
36 81
V. Structures de contrôle :
On va parler ici de tests et de boucles. Commençons par les opérateurs de comparaison et les opérateurs
logiques.
1-Operateurs de comparaison et logiques :
Symbole Opérateur
== égal
~= différent
& et logique
| ou logique
Dr.W.CHELIA 2020-2021 15
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple1 :
>> 10 > 9
ans =
>> 2 == 3
ans =
>> 4 ~= 7
ans =
>> [1 4 ; 7 3] <= [0 6 ; 7 2]
ans =
0 1
1 0
>> x = [0 1 0 1];
>> y = [0 0 1 1];
>> x & y
ans =
0 0 0 1
>> x | y
ans =
0 1 1 1
>> ~x
ans =
1 0 1 0
Dr.W.CHELIA 2020-2021 16
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Exemple2 :
>> xor(x,y)
ans =
0 1 1 0
>> 0 | 3
ans =
>> ~(-2.4)
ans =
A=zeros(1,10);
for ii=1:10
A(ii)=ii+10;
end
il vaut mieux
A=11:20; ou bien A=[1:10]+10;
- La boucle while :
while expression
instructions…
end
Dr.W.CHELIA 2020-2021 17
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
Expression désigne le résultat d’une opération logique. Elle est construite en utilisant des opérateurs
relationnels et logiques.
- La boucle if :
Cette structure permet d’exécuter un bloc d’instructions en fonction de la valeur logique d’une expression.
Sa syntaxe est :
if condition ou if condition1
instructions… instructions1
end elseif condition2
instructions2
else
instructions3
end
Exemple4 : la valeur x
if x > 0
elseif x == 0
else
x = 1;
end
Bien évidemment, la variable x doit être définie auparavant. La fonction disp permet d’afficher une chaîne de
caractère spécifiée entre apostrophes. Si x n’est ni positif ni nul, il reçoit la valeur 1.
Il existe aussi une structure du type switch. . . case (voir les doc).
Dr.W.CHELIA 2020-2021 18
Université du 20 Aout 1955 Skikda
Faculté des Sciences L2 Physique
Département de Physique TP Méthodes Numériques et programmation
[1] Brian D. Hahn and Daniel T. Valentine, Essential MATLAB for Engineers and Scientists, Elsevier
Ltd.2007.
[2] Craig S. Lent, LEARNING TO PROGRAM WITH MATLAB Building GUI Tools, Wiley.2013.
[3] Stormy Attaway, MATLAB A Practical Introduction to Programming and Problem Solving, Elsevier
Inc,2019.
[4] Rao V.Dukkipati, MATLAB An Introduction With Application, New Age International (P) Ltd,
Publishers,2010.
[6] https://www.youtube.com/results?search_query=matlab+programmation.
Dr.W.CHELIA 2020-2021 19