Vous êtes sur la page 1sur 37

LOGICIEL MATLAB

Dr. DIENG Habib Boubacar


LOSEC/Département Physique – UFR ST - UASZ

Cours Dr. DIENG : LOGICIEL MATLAB 2020 - 2024


LOGICIEL MATLAB

1er SEMESTRE DE MASTER-1

VOLUME HORAIRE DE 24H


VCM : 12 H
VTP : 10 H
V.DEVOIR = 2 H

2
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
TABLEAU DES CHAPITRES
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
1.1.1 Définition : Programmation ; Langage de programmation, Logiciel, Framework
1.1.2. Différents langages de programmation
1.2 Présentation de MATLAB
1.2.1. Environnement MATLAB
1.2.2. Présentation de l’interface MATLAB
1.3 Les commandes de base en MATLAB
1.3.1. Les opérations de base
1.3.2. Les nombres réels
1.3.3 Nombres complexes
1.3.4 Les variables
Chapitre 2 : vecteurs et matrices
2.1. Déclarer des matrices & Accéder aux éléments d’une matrice & Concaténation de matrices
2.2. Filtrage de matrices & Taille d’une matrice
2.3. Opérations sur les matrices
Chapitre 3 : Fonctions réelles & Instructions
3.1 Fonctions réelles
3.2 Instructions (condition if & les boucles for et while)
Chapitre 4 : Programmer en MATLAB
4.1 Comment programmer sous MATLAB
4.2 Quelques applications en physique
3
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
1.1.1 Définition : Programmation ; Langage de programmation,
Logiciel, Framework
1.1.2. Différents langages de programmation
1.2 Présentation de MATLAB
1.2.1. Environnement MATLAB
1.2.2. Présentation de l’interface MATLAB
1.3 Les commandes de base en Matlab
1.3.1. Les opérations de base
1.3.2. Les nombres réels
1.3.3 Nombres complexes
1.3.4 Les variables
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Qu’est ce que la programmation ?
Une machine (ordinateur) ne sait faire que quelques opérations
simples :
 Déplacer un fichier d’un endroit de sa mémoire à un autre
 Faire des opérations arithmétiques classiques : + , - , * , ÷ , ^
 Passer d’une ligne de code à un autre
 Ouvrir ou fermer un fichier
La programmation consiste à combiner plusieurs de ces
instructions qui agissent sur des données afin de réaliser
une tâche précise à l’aide de l’ordinateur.
Ex : détecter une chaîne de caractères dans un texte ; tester si
un nombre est paire ; ...
5
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Qu’est ce qu’un langage programmation ?
C’est la façons d’écrire des instructions en utilisant une
notation conventionnelle et qui serons traduites en opérations
de basse pour l’ordinateur.

Analogie :
Par similitude à une langue naturelle, un langage de
programmation est composé d'un alphabet, d'un vocabulaire,
de règles de grammaire et de significations

6
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Qu’est ce qu’un logiciel ?
C’est une suites d’instructions écrites dans un langage de
programmation permettant de réaliser une ou plusieurs tâches.
La plupart du temps un logiciel possède une interface graphique pour
interagir facilement avec leurs utilisateurs.
Un logiciel peut être traduit dans différents langages de programmation,
comme un livre peut l’être.

exemples :
Navigateur internet ; Lecteur de courriel ; Lecteur multimédia ;
Éditeur de texte ; Archivage ; …
Analogie : logiciel pour l’informatique == livre pour la
7
littérature
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Qu’est ce qu’un framework ?
Un framework (appelé aussi infrastructure logicielle) est une
collection de sous-programme, écrits dans un langage
spécifique, permettant de réaliser des tâches complexes plus
simplement.
Il permet donc de réutiliser le travail effectué par d’autres pour son
propre programmes, et permets ainsi de gagner du temps en évitant décrire
ce que les autres ont déjà fait.
exemples :
En C ou C+, pour multiplier 2 matrices A et B, il faut parcourir les
ligne de l’une et les colonnes de l’autre, et faire des produits et des
sommes. Avec le framework BOOST sur C++, on écrit prod(A,B)
8
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Différents langages de programmation
Année 1940
Assembleur
Langage très proche de la capacité de la machine
 Très fastidieux pour écrire de longs programmes, et difficile de
relire un code
Encore utiliser de nos jours
Exemple du jeu de Super Mario World sur Super Nintendo

9
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Différents langages de programmation
Année 1950 et 1960
FORTRAN, LISP, BASIC, ...
 Langage plus moderne, avec un syntaxe plus proche des
mathématiques modernes
 Exemple :
Avec assembleur, pour faire la somme de 2 nombres a et b, il faudra
les charger chacun dans une case mémoire, effectuer la somme des 2
cases, et recopier le résultats dans un disque.
Avec FORTRAN, on utilise a+b tout simplement

10
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Différents langages de programmation
Année 1970
Pascal, C, Prolog, ...
 L’ère de la programmation structurée avec une syntaxe plus
rigoureuse qui permet de plus facilement relire un code et le
comprendre

11
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Différents langages de programmation
Année 1980
C++, Matlab, Objective-C, ...
 Programmation plus performante : programmes qui
s’exécute très rapidement même avec un code peu optimisé
 Programmation avec plus de modularité : possibilité de
réutiliser des parties d’un programme dans un autre programme
Début de la programmation orienté objet (i.e permets aux différents
éléments de programmation de communiquer entre eux)

 Réduction du temps de calcul


12
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Différents langages de programmation
Année 1990
 Python, R, PHP, Java, ...
 Perfectionnement des concepts de l’orientation objet.
 Les langages incorporent beaucoup de facilité de
communication réseau avec le début de l’ère internet.

13
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
Différents langages de programmation
Depuis les années 2000
 D, Rust, Go, ...
 Développement de la recherche sur la sécurité des langages
de programmations afin d’éviter les failles sur les logiciels
 Recherche d’avantage de performance et de facilité de
programmation des ordinateur avec des processeurs en //.
 La nostalgie des anciens langages revienne à la mode, grâce à
la disponibilité de nouveaux framworks (Matlab, Phyton, R,
Fortran …), où pour le développement sur plateforme mobile
(Objective-C pour Iphone, Java pour Android).
14
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
1.1.1 Définition : Programmation ; Langage de programmation,
Logiciel, Framework
1.1.2. Différents langages de programmation
1.2 Présentation de MATLAB
1.2.1. Environnement MATLAB
1.2.2. Présentation de l’interface MATLAB
1.3 Les commandes de base en MATLAB
1.3.1. Les opérations de base
1.3.2. Les nombres réels
1.3.3 Nombres complexes
1.3.4 Les variables
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.2 Présentation de MATLAB
1.2.1. Environnement MATLAB

MATLAB (MATrix LABoratory), initialement développé


pour le calcul matriciel, est un environnement intégrés pour le
Calcul Scientifique et la visualisation.

 Il est écrits principalement en langage C et C++.

 MATLAB est distribué par la société The MathWorks (voir le


site www.mathworks.com).
16
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.2 Présentation de MATLAB
1.2.1. Environnement MATLAB

 MATLAB est un logiciel payant proposant une interface


graphique

 MATLAB propose diverse frameworks (appelés toolbox) qui


correspond à une collections de fonctions dédiées à un usage
spécifique et permettant de réaliser des tâches complexes
(exemples : Aerospace Toolbox ; Mapping Toolbox ; Wavelet
Toolbox ; Signal Processing Toolbox ; Partial Differential
Equation Toolbox ; Financial Toolbox ; ...)

17
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.2 Présentation de MATLAB
1.2.1. Environnement MATLAB

 Téléchargement de MATLAB ?

 Installation de MATLAB ?

 Exécution de MATLAB (sous windows et sous linus) ?

18
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.2 Présentation de MATLAB
1.2.2. Présentation de l’interface MATLAB

MENU

Variables
Fichiers Zone de Commandes

Historiques
Détails Fichier
sélect.
19
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.2 Présentation de MATLAB
1.2.2. Présentation de l’interface MATLAB
 Le MENU regroupe les commandes de base de MATLAB
 L’explorateur de fichier permet de visualiser les fichiers scripts et de les
ouvrir si besoin pour les éditer
 La zone de commandes permet d’écrire les lignes de commandes et de
visualiser le résultat
 La zones des variables permet de visualiser tout les variables actives en
mémoire
 L’historique permet de visualiser l’ensemble de commandes précédemment
exécutées
 La zone Détails fichier sélectionné permet de visualiser les détails d’un
fichier sélectionné dans la zone d’explorateur de fichier.
20
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.2 Présentation de MATLAB
1.2.2. Présentation de l’interface MATLAB

Pour écrire des lignes


commandes simples, on peut
utiliser la zone des
commandes directement.

Cependant, lorsqu’on
souhaite écrire un
programme complet, on
utilise de préférence
l’éditeur de script
MATLAB.

21
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.2 Présentation de MATLAB
1.2.2. Présentation de l’interface MATLAB

éditeur de script MATLAB

22
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.1 Rappels sur la programmation
1.1.1 Définition : Programmation ; Langage de programmation,
Logiciel, Framework
1.1.2. Différents langages de programmation
1.2 Présentation de MATLAB
1.2.1. Environnement MATLAB
1.2.2. Présentation de l’interface MATLAB
1.3 Les commandes de base en MATLAB
1.3.1. Les opérations de base
1.3.2. Les nombres réels
1.3.3 Nombres complexes
1.3.4 Les variables
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.1. Les opérations de base
 L’élément fondamental sur MATLAB est la matrice, puisque le type
de base des données est « array » : tableau.
Scalaires, vecteurs, matrices réelles et complexes sont considérés
comme étant des cas spéciaux du type de base.
 Nous pouvons saisir la commande dans la zone de commandes, et
MATLAB l’exécute comme une calculatrice
Par exemple :
>> 5+7
ans =
12
Le ans (pour ‘answer’ : réponse) est une variable qui contient toujours le résultat de la
dernière opération effectuée, et s’affiche dans la zone des variables.
24
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.1. Les opérations de base
Liste non exhaustive des
Symbole différentes
Opération opérations de base
/ fonction sur MATLAB
exemple

+−/∗ Addition, soustraction, division, 45-34


multiplication 8*2

^ Puissance 3^2

sqrt Racine carré sqrt(25)

pi La constante pi pi/4
25
Cours Dr. DIENG : Logiciel Matlab 2020 - 2021
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.1. Les opérations de base

Possibilité de combiner plusieurs symbole en une


opération

>> sqrt((3+5/4)*cos(3*pi/2))*exp(2^3) - log(6)

ans =

-1.7918 + 0.0001i

26
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.2. Les nombres réels (ensemble R)

Remarque : les ressources d’une machine étant limitées, seul un


sous-ensemble F de cardinal fini de R peut être représenté. Les
nombres de ce sous-ensemble sont appelés nombres à virgule
flottante.
 Les nombres réels s’écrivent avec un point pour séparer la
partie entière et la partie décimale, et non par une virgule.
 Un nombre réel x est en général tronqué par la machine,
définissant ainsi un nouveau nombre (dans F) qui ne coïncide pas
nécessairement avec le nombre x original.

27
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.2. Les nombres réels (ensemble R)

Comment les représenter ?


Exemple 1 :
 le nombre rationnel x = 1/7 donne la représentation décimale
0.142857…… avec infinité de chiffres après la virgule.
 Sous MATLAB
>> 1/7
ans =
0.1429

qui est un nombre avec quatre décimales, la dernière étant différente de


la quatrième décimale du nombre original
28
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.2. Les nombres réels (ensemble R)

Comment les représenter ?


Exemple 2 :
 le nombre rationnel x = 1/3 donne la représentation décimale
0.3333333…… avec infinité de chiffres après la virgule.
 Sous MATLAB
>> 1/3
ans =
0.3333

La quatrième décimale est donc cette fois exacte

29
Cours Dr. DIENG : Logiciel Matlab 2020 - 20224
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.2. Les nombres réels (ensemble R)

Comment les représenter ?


Ce comportement est dû au fait que les nombres réels sont
arrondis par l’ordinateur.
Question : Pour quoi les réels sont représentés qu’avec quatre
décimales alors que leur représentation interne utilise 16
décimales ?
Ce que nous avons vu n’est qu’un des nombreux formats
d’affichage de MATLAB.
Un même nombre peut être affiché différemment selon le
choix du format.
30
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.2. Les nombres réels (ensemble R)

Comment les représenter ?


Par exemple, pour 1/7, voici quelques formats de sortie possibles
en MATLAB :
format short donne 0.1429,
format short e ” 1.4286e − 01,
format short g ” 0.14286,
format long ” 0.142857142857143,
format long e” 1.428571428571428e − 01,
format long g ” 0.142857142857143.
31
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.2. Les nombres réels (ensemble R)

Comment calculer avec des nombres à virgule flottante ?


Remarque1 : Il est vrai que les erreurs d’arrondi sont généralement
petites, mais quand elles s’accumulent au cours d’algorithmes longs et
complexes, elles peuvent avoir des effets catastrophiques.
Par exemple : a=1.0e+308, b=1.1e+308 et c=-1.001e+308
effectuons la somme de deux manières différentes.
On trouve :
a + (b + c) = 1.0990e + 308
(a + b) + c = Inf.

32
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.2. Les nombres réels (ensemble R)

Comment calculer avec des nombres à virgule flottante ?


On peut citer deux exemples marquants :
 l’explosion de la fusée Ariane le 4 juin 1996 était due à une
erreur d’overflow (arrondi) dans l’ordinateur de bord
 l’échec de la mission d’un missile américain Patriot pendant la
guerre du Golfe en 1991 résultait d’une erreur d’arrondi dans le
calcul de sa trajectoire

33
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.3 Nombres complexes (l’ensemble C)
Les nombres complexes sont de la forme z = x+iy, où i est tel
que i2 = −1.
A moins qu’elles ne soient redéfinies, les variables MATLAB i
et j désignent le nombre imaginaire pur i.
Soit un nombre complexe x+i*y ; on peut aussi utiliser la
commande complex(x,y).
Les représentations exponentielles (ou polaires) et
trigonométriques d’un nombre complexe z sont équivalentes
grâce à la formule d’Euler :
z = ρeiθ = ρ(cos θ + i sin θ)

34
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.3 Nombres complexes (l’ensemble C)
z = ρeiθ = ρ(cos θ + i sin θ)

 Le module ρ est obtenu avec la commande abs(z)


 L’argument θ est obtenu avec la commande angle(z).
 La représentation est donc :
abs(z)*(cos(angle(z))+i*sin(angle(z)))
 La représentation polaire d’un ou plusieurs nombres
complexes peut être obtenue avec la commande compass(z)

35
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
Chapitre 1 : introduction à MATLAB
1.3 Les commandes de base en MATLAB
1.3.4 Les variables
Sur MATLAB, comme dans la plupart des langages, il est
possible de stocker des valeurs numériques dans une variable en
utilisant le symbole =
Exemple 1 : Exemple 2 :
>> a = 13 >> a = 13 ; b=a+7
a=
13
MATLAB conservera en permanence en mémoire les variables
que vous avez créées. Ces variables sont affichées dans la fenêtre
workspace de l’interface graphique (Zone des variables).
La commande clear all permet de toutes les supprimer.
36
Cours Dr. DIENG : Logiciel Matlab 2020 - 2024
MERCI

37

Vous aimerez peut-être aussi