0% ont trouvé ce document utile (0 vote)
57 vues39 pages

Cours Complet sur MATLAB PDF

Ce document présente une introduction au logiciel MATLAB, abordant ses fonctionnalités principales telles que le calcul matriciel, la programmation et la création de graphiques. Il détaille également l'interface utilisateur de MATLAB, les types de données, les commandes essentielles, ainsi que les vecteurs et matrices. L'objectif est de former les étudiants à la programmation et aux méthodes numériques classiques dans le cadre de la maintenance industrielle.

Transféré par

Safae Tsouli
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
57 vues39 pages

Cours Complet sur MATLAB PDF

Ce document présente une introduction au logiciel MATLAB, abordant ses fonctionnalités principales telles que le calcul matriciel, la programmation et la création de graphiques. Il détaille également l'interface utilisateur de MATLAB, les types de données, les commandes essentielles, ainsi que les vecteurs et matrices. L'objectif est de former les étudiants à la programmation et aux méthodes numériques classiques dans le cadre de la maintenance industrielle.

Transféré par

Safae Tsouli
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Outils Informatiques

Département : Maintenance Industrielle


Licence : IEE

Pr. Omar Benslimane

Année universitaire :2024/2025


Table des matières

1 Introduction au logiciel MATLAB 4

1.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Découvrir MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Les formats d’affichage des réels . . . . . . . . . . . . . . . . . . . . . 6

1.2.2 Les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.3 Fonctions mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.4 Constantes prédéfinies . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2.5 Opérateurs relationnels . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2.6 Opérateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.2.7 Commandes Principales . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3 Vecteurs et matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3.1 Vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3.2 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.3.3 Dialogue avec l’utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2
3 TABLE DES MATIÈRES

1.4.1 Fonction which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.5 Représentations graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.5.1 Courbes dans le plan (2D) . . . . . . . . . . . . . . . . . . . . . . . . . 17

[Link] Courbes paramétrées . . . . . . . . . . . . . . . . . . . . . . 18

[Link] Autres méthode de tracé de données en 2D . . . . . . . . . . 19

[Link] Améliorer la lisibilité d’une figure . . . . . . . . . . . . . . . 21

[Link] Tracer plusieurs courbes . . . . . . . . . . . . . . . . . . . . 22

[Link] Superposition de graphiques . . . . . . . . . . . . . . . . . . 23

[Link] Fonction plotyy . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.5.2 Courbes dans l’espace (3D) . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.6 Instructions de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.6.1 Interruption d’une boucle de contrôle . . . . . . . . . . . . . . . . . . 33

1.7 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

1.7.1 Fonctions Inline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

1.7.2 Fonctions anonymes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

1.8 Equations différentielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

1.8.1 Solveur ode45, ode23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Pr. Omar Benslimane 3 EST Salé


Chapitre 1

Introduction au logiciel
MATLAB

1.1 Généralités

Objectif :

— Apprentissage de la programmation avec MATLAB.


— Connaı̂tre et savoir programmer les méthodes numériques classiques utilisées dans l’analyse
numérique.

Qu’est-ce que Matlab ?


MATLAB est l’abréviation de MATrix LABoratory. C’est un environnement de développement
dans le domaine du calcul matriciel numérique.
Matlab permet d’effectuer :

— des opérations mathématiques,


— manipuler les fonctions mathématiques usuelles,
— des calucls matriciels,
— résolution approchée des équations différentielles,
— calcul des intégrales numériques,
— de faire des graphiques 2D et 3D,
— etc…

4
5 Chapitre 1. Introduction au logiciel MATLAB

1.2 Découvrir MATLAB

Interface de matlab : L’interface Matlab se compose d’une fenêtre principale divisée en quatre
sous-fenêtres.

` gauche, “Current Folder” gère l’emplacement des fichiers. Celui-ci sera utile pour le
1. A
travail avec les m-files.

2. En haut à droite, “Workspace” permet de gérer les variables utilisées.

3. En bas à droite, “Command History” est visible par défaut ; il indique les dernières
commandes effectuées.

4. Au centre, il y a une grande fenêtre appelée “Command Window” : qui est l’interface
principale d’interaction avec MATLAB, où les instructions sont exécutées.

On peut utiliser Matlab de deux manières différentes :


— En entrant des instructions à la suite du prompteur >>, le logiciel se comporte comme
une très bonne calculatrice graphique.
— En créant des scripts (ou m-files) ou des fonctions (extension.m), on crée des “programmes”
sauvegardables.

Pr. Omar Benslimane 5 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 6

Premier contact :
— La Command Window est la fenêtre centrale de l’interface, c’est à partir de là que
l’utilisateur pourra lancer les commandes interprétées par Matlab.
— Le symbole >> indique à l’utilisateur où il faut rentrer la commande.

Exemple 1 .

— On peut taper plusieurs commandes Matlab sur une même ligne, en les séparant par une
virgule
>> 1 ∗ 7, 5ˆ10, 8 + 6 ∗ 4ˆ101

— Les opérateurs arithmétiques ont la priorité habituelle

>> 13 + 2 ∗ 9ˆ2/3

— Une ligne d’instruction terminée par un point virgule (; ) est exécutée immédiatement
mais le résultat ne s’affiche pas

>> (3 + 5 ∗ 2ˆ5) /5

1.2.1 Les formats d’affichage des réels

MATLAB dispose de plusieurs formats d’affichage des réels. Le format par défaut est le format
court à 5 chiffres. Les autres principaux formats sont :

Pr. Omar Benslimane 6 EST Salé


7 Chapitre 1. Introduction au logiciel MATLAB

— format long : format long à 15 chiffres.


— format short e : format court à 5 chiffres avec notation en virgule flottante.
— format long e : format long à 15 chiffres avec notation en virgule flottante.

Exemple 2 .

Pour rappeler des commandes précédentes, il y a deux possibilités :


— Utiliser les touches du clavier ↑ ou ↓ et les commandes précédentes apparaissent dans
l’ordre chronologique.
— Taper les premiers caractères de la commande puis utiliser les touches ↑ ou ↓.
— Après avoir choisi la commande à rappeler, il est toujours possible de la modifier en se
déplaçant avec les touches ← et → et en effectuant la correction.

1.2.2 Les variables

— L’affectation d’une variable en Matlab se fait au moyen du signe (=).


— Le nom d’une variable doit commencer par une lettre (majuscule ou minuscule, sans
accent) puis peut contenir des lettres (même remarque), des chiffres et des caractères
soulignés ( ).
— Matlab est “case-sensitive”, c’est-à-dire qu’il fait la distinction entre majuscules et minuscules.

Pr. Omar Benslimane 7 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 8

Exemple 3 .

1.2.3 Fonctions mathématiques

Exemple 4 .

Pr. Omar Benslimane 8 EST Salé


9 Chapitre 1. Introduction au logiciel MATLAB

1.2.4 Constantes prédéfinies

1.2.5 Opérateurs relationnels

Les opérateurs comparent deux opérandes de même dimension :

Exemple 5 .

Pr. Omar Benslimane 9 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 10

1.2.6 Opérateurs logiques

Ces opérateurs effectuent un test logique entre deux variables logiques de même dimension :

Remarques 1.2.1

— Lorsque deux scalaires sont comparés, le résultat est un scalaire qui vaut 1 si la relation est
vrai et 0 si elle est fausse.
— Si deux matrices sont comparées, le résultat est une matrice de même dimension constituée
de 1 et 0, la relation étant testée élément par élément.

1.2.7 Commandes Principales

Pr. Omar Benslimane 10 EST Salé


11 Chapitre 1. Introduction au logiciel MATLAB

— help : Pour plus d’informations sur une commande, on peut utiliser la commande help
suivie du nom de la commande demandée : help < command >.
Exemple : help help
— quit : Cette commande est utilisée pour quitter MATLAB, à la fin de notre travail.
— clc : Pour effacer la fenêtre.
— clear / clear all : Elle réinitialise l’environnement (le “workspace”) en détruisant toutes
les variables actives en mémoire.
— whos / who : L’ensemble des variables actives peut être consulté grâce aux commandes
whos et who.

Sauvegarde : Matlab ne permet pas de sauvegarder l’historique des commandes exécutées. Il


existe cependant deux solutions pour sauvegarder son travail.

— Le Workspace : On peut sauver l’état de la session en cours dans un [Link]. Pour


cela, dans la fenêtre principale,
File → Save Workspace As, et vous choisissez l’emplacement et le nom de votre fichier.
Matlab sauvegarde ainsi le nom et la valeur de chacune des variables. La prochaine fois
que vous utilisez Matlab, au moyen du menu File → Open.
— Les m-files : Il s’agit d’un fichier dans lequel on regroupe des commandes. Files → New
→ Script.

1.3 Vecteurs et matrices

— Sous Matlab, les scalaires, les vecteurs et les matrices sont tous construit sur une base
de matrice de 2D.
— La structure de données de Matlab est le tableau (Les termes tableau et matrice sont
synonymes).

1.3.1 Vecteurs

On définit un vecteur à l’aide de la commande [ ].

Pr. Omar Benslimane 11 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 12

Exemple 6 .

— Les tableaux avec une seule ligne sont appelés des vecteurs lignes ou des listes.
— Les tableaux avec une seule colonne sont appelés simplement des vecteurs.

En outre,
— Matlab dispose également de moyens très simples pour créer des listes.
— La commande [a : h : b] (ou a : h : b ou (a : h : b)) crée une liste dont les éléments sont :

a; a + h; a + 2h; ...; a + nh;

où a + nh ≤ b < a + (n + 1) h.
— Le cas particulier [a : b] est un raccourci pour [a : 1 : b] .
— Si les conditions initiales sont erronées, Matlab renvoie un message d’erreur.

Exemple 7 .

Pr. Omar Benslimane 12 EST Salé


13 Chapitre 1. Introduction au logiciel MATLAB

1.3.2 Matrices

— Pour créer une matrice comportant plusieurs lignes, séparez les lignes à l’aide de points-
virgules.
— Si le nombre d’éléments dans chaque ligne (ou colonne) n’est pas le même, Matlab signale
une erreur.

Exemple 8 .

Une dernière méthode pour créer des tableaux est la concaténation. Si A et B sont deux tableaux,
alors :

— [A B] ou [A, B] est le tableau obtenu en collant B à droite de A.


— et [A; B] est le tableau obtenu en collant B au-dessous de A. ( il faut faire attention aux
tailles de A et de B).

Commandes Principales :

Pr. Omar Benslimane 13 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 14

1.3.3 Dialogue avec l’utilisateur

La commande disp permet d’afficher un tableau de valeurs numériques ou de caractères.

Exemple 9 .
— disp (var) affiche le contenu de variable.
— disp (’Calcul du déterminant de la matrice A’) affiche la phrase : “Calcul du déterminant
de la matrice A”.
— disp ([“Le déterminant de la matrice A vaut”, d = det(A)]).

Pr. Omar Benslimane 14 EST Salé


15 Chapitre 1. Introduction au logiciel MATLAB

— La commande input permet de demander à l’utilisateur d’un programme de fournir des


données.
— La syntaxe est var = input (’une phrase’).
Affiche la chaı̂ne de caractère “une phrase” et donne la main à l’utilisateur pour qu’il
entre la valeur de la variable var.

Exemple 10 .
n = input (’entrez le nombre de simulations’)
disp ([’Vous avez tapé : ’ n])

1.4 Script

Définition 1.4.1 Un script est un ensemble d’instructions identiques à celles que l’on peut employer
directement dans la fenêtre de commandes de MATLAB, et qu’on enregistre dans un fichier avec
une extension de la forme .m et de les faire exécuter par MATLAB.

Exemple 11 .

Pr. Omar Benslimane 15 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 16

— On peut enregistrer une séquence d’instructions dans un fichier (appelé un M-file) et de


les faire exécuter par MATLAB.
— Un tel fichier doit obligatoirement avoir une extension de la forme .m (d’où le nom M-
file).
— On distingue deux types de M-file, les fichiers de scripts et les fichiers de fonctions.

Remarque 1.4.1
— Ne jamais créer un script ou une fonction ayant le même nom qu’une fonction prédéfinie.

Remarque 1.4.2 Pour exécuter un script, il suffit de taper son nom dans la fenêtre Matlab, sans
préciser l’extension ’.m’.

Exemple 12 .

Auto-documentation de scripts ou de fonctions : Il est également possible d’auto-documenter


ses fichiers de commandes.
Pour cela, il suffit de mettre une série de lignes de commentaires au début du fichier de commandes,
avant toute autre commande.
Ces lignes de commentaires s’afficheront à l’appel de la commande help.

Pr. Omar Benslimane 16 EST Salé


17 Chapitre 1. Introduction au logiciel MATLAB

Exemple 13 Dans ScriptCercle.m, on a défini des commentaires comme auto- documentation de


ce script. On peut donc appeler cette aide par la commande help :

1.4.1 Fonction which

La fonction which permet de savoir quel est le chemin du script ou de la fonction que MATLAB
trouve en premier.

Exemple 14
— Pour notre ScriptCercle :

— Pour la fonction prédéfinie ’log’ :

1.5 Représentations graphiques

Les bibliothèques de Matlab proposent un très grand nombre de fonctions pour la manipulation
d’objets graphiques. Nous ne présentons ici que quelques principes de base, utiles pour la
visualisation de courbes de type 2D ou 3D.

1.5.1 Courbes dans le plan (2D)

Fonction plot(x,y) :
Etant donné deux vecteurs de même taille, x et y, la fonction plot(x,y) trace le graphe de y
en fonction de x. En fait Matlab relie les points de coordonnées (x (i) , y (i)) pour 1 ≤ i ≤

Pr. Omar Benslimane 17 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 18

length (x).
En prenant un grand nombre de points dans le vecteur x et en définissant ensuite y = f (x)
pour une certaine fonction f , la fonction plot(x,y) (ou plot(x,f (x))) nous donnera le graphe de
la fonction f .

Exemple 15 Traçons la fonction sinus dans l’intervalle [−π; π] avec un pas de 0, 01.

Courbe simple avec la commande plot.

[Link] Courbes paramétrées

La fonction plot permet aussi le tracé de courbes planes définies sous la forme :

x = f (t)


y = g (t)

avec t ∈ [t0 , t1 ]. Pour cela :


— On crée un vecteur t correspondant à une subdivision de l’intervalle [t0 , t1 ].
— On crée deux vecteurs x et y en appliquant respectivement les fonctions f et g à t.
— On trace le graphe avec plot(x,y).

Exemple 16 .

Pr. Omar Benslimane 18 EST Salé


19 Chapitre 1. Introduction au logiciel MATLAB

[Link] Autres méthode de tracé de données en 2D

´
Fonction inline : Etait utilisée pour définir des fonctions simples de manière concise directement
dans le code, sans créer un fichier séparé.
Admettons qu’on veux définir une nouvelle fonction qu’on appelle f définie mathématiquement
par :
f (x) = sin (x) − x cos (x) .

On écrira :

Command plot :On peut spécifier à MATLAB quelle doit être la couleur d’une courbe, quel
doit-être le style de trait et/ou quel doit être le symbole à chaque point (xi , yi ). Pour cela on

Pr. Omar Benslimane 19 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 20

donne un troisième paramètre d’entrée à la commande plot qui est une chaı̂ne de 3 caractères
de la forme ’cst’ avec :

— c : désigne la couleur du trait.


— s : le symbole du point.
— t : le type de trait.

Syntaxe : plot(x,y,’cst’).

Remarque 1.5.1 Lorsque on utilise seulement un style de marqueurs, MATLAB ne trace plus de
segments de droite entre les points successifs, mais seulement les points eux-même.

Pr. Omar Benslimane 20 EST Salé


21 Chapitre 1. Introduction au logiciel MATLAB

[Link] Améliorer la lisibilité d’une figure

Dans une figure, il est préférable de mettre une description textuelle aidant à comprendre la
signification des axes et de connaı̂tre le but ou l’intérêt de la visualisation concernée.
Les labels des axes :

— title(’titre’) : titre pour le graphique.


— xlabel(’titre’) : légende pour l’axe des abscisses.
— ylabel(’titre’) : légende pour l’axe des ordonnées.
— legend(’titre1’,’titre2’,…) : légende pour chaque courbe du graphique.
— text(x,y,’texte’) : texte explicatif à la position (x ; y).
— gtext(’texte’) : texte positionné à l’aide de la souris.
— axis([xmin xmax ymin ymax]) : pour définir les échelles des axes.
— grid : quadrillage du graphique.
— grid off : sans quadrillage.

Exemple 17 .

Pr. Omar Benslimane 21 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 22

[Link] Tracer plusieurs courbes

L’idée générale est de découper la fenêtre graphique en zones, et d’afficher un graphe dans
chacune des zones. On utilise l’instruction subplot en lui spécifiant le nombre de zones sur la
hauteur, le nombre de zones sur la largeur, et le numéro de la zone que l’on considère (et dans
laquelle on va tracer une courbe) : subplot(NbZonesHauteur,NbZonesLargeur,NumeroZone)
où NbZonesHauteur représente le nombre de zones sur la hauteur, NbZonesLargeur le nombre
de zones sur la largeur, et NumeroZone le numéro de la zone à laquelle on s’intéresse.
Les virgules peuvent être omises. Les pavés sont numérotés dans le sens de la lecture d’un texte,
de gauche à droite et de haut en bas :

Exemple 18 .

Pr. Omar Benslimane 22 EST Salé


23 Chapitre 1. Introduction au logiciel MATLAB

[Link] Superposition de graphiques

Il est possible de tracer des graphiques de différentes natures dans une même fenêtre graphique.
Par défaut, les fonctions de tracé effacent systématiquement le graphique précédent. Cependant,
il peut être utile de conserver le graphique existant et d’y superposer un nouveau tracé. Pour
ce faire, on utilise la commande hold.
— hold on : Cette commande permet de superposer plusieurs tracés sur une même figure
sans effacer les tracés précédents.
— hold off : Cette commande désactive le maintien des graphiques, c’est-à-dire que lorsque
vous tracez un nouveau graphique, il efface le graphique précédent.

Exemple 19 .

Remarque 1.5.2 On peut représenter plusieurs courbes sur la même figure de la manière suivante :

plot(x, y1 , x, y2 , ..., x, yn ).

Exemple 20 .

Pr. Omar Benslimane 23 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 24

[Link] Fonction plotyy

Pour représenter deux courbes ayant des ordonnées très différentes (i.e. avec des ordres de
grandeurs très différents), on utilise la fonction plotyy qui gère de manière automatique et
indépendante les échelles des ordonnées des deux tracés.

Exemple 21 On veut représenter deux courbes dans le même domaine de définition, mais ayant
des amplitudes très différentes :

Pr. Omar Benslimane 24 EST Salé


25 Chapitre 1. Introduction au logiciel MATLAB

Création d’une fenêtre graphique :


— Si vous avez effectué un tracé et que vous souhaitez en réaliser un autre tout en conservant
intacte la fenêtre graphique précédente, vous pouvez créer une nouvelle fenêtre avec la
fonction figure.
— Si figure est appelée sans argument, MATLAB ouvre une nouvelle fenêtre graphique en
incrémentant automatiquement son numéro. Vous pouvez également spécifier le numéro
de la fenêtre en passant un argument à la fonction.
— Toute fonction graphique utilisée après un appel à figure produira un tracé dans cette
nouvelle fenêtre sans modifier les fenêtres déjà ouvertes.

1.5.2 Courbes dans l’espace (3D)

On peut définir une courbe en 3D par une liste de triplets (x; y; z) et en utilisant l’instruction
plot3 avec trois arguments :
• Vx : le vecteur des abscisses.
• Vy : le vecteur des ordonnées.
• Vz : le vecteur des cotes.
Syntaxe :
plot3(V x, V y, V z).

Exemple 22 .

Pr. Omar Benslimane 25 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 26

• La commande grid on dans MATLAB est utilisée pour afficher une grille sur un graphique. La
grille aide à mieux visualiser et interpréter les données en fournissant des lignes de référence
horizontales et verticales (ou dans le cas de tracés 3D, des lignes sur tous les axes). Cela facilite
la lecture des valeurs sur les axes et l’observation des tendances dans les graphiques.

Remarque 1.5.3 On peut aussi tracer plusieurs courbes en 3D à l’aide de la commande suivante :

plot3(x1 , y1 , z1 , x2 , y2 , z2 , ..., xn , yn , zn ).

Exemple 23 .

1.6 Instructions de contrôle

Les instructions de contrôle sous MATLAB sont très proches de celles existant dans d’autres
langages de programmation.
Ces instructions sont :
— Boucle FOR : parcours d’un intervalle.
— Boucle WHILE : tant que . . . faire.
— L’instruction conditionnée IF.

Pr. Omar Benslimane 26 EST Salé


27 Chapitre 1. Introduction au logiciel MATLAB

— Choix ventilé, l’instruction switch.

Remarque 1.6.1 Les structures de contrôle forment des blocs, délimités par :
— un mot clé spécifique donnant le sens de la structure de contrôle (exemple for, if, switch),
— et le mot clé end.

Boucle FOR : parcours d’un intervalle


Syntaxe :

for indice = borne-inf : borne-sup


séquence d’instructions
.
.
.
end

Exemple 24 Calculer n! avec la boucle for :

Explication mathématique du processus :


— Initialisation :
On initialise nfac = 1. C’est le point de départ car la multiplication par 1 n’affecte pas le
résultat.

Pr. Omar Benslimane 27 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 28

— Boucle itérative :
• La boucle for k = 1 : n parcourt tous les entiers de 1 à n.
• À chaque itération, la variable nfac est multipliée par la valeur courante de k, ce qui
construit progressivement le produit de tous les nombres de 1 à n.

Itération Valeur de k Calcul nf ac × k Valeur de nfac


1 1 1×1=1 1
2 2 1×2=2 2
3 3 2×3=6 6
4 4 6 × 4 = 24 24
5 5 24 × 5 = 120 120

Table 1.1 – Calcul de la factorielle de 5 avec une boucle for

Boucle WHILE : tant que . . . faire


Syntaxe :

while expression logique


séquence d’instructions
.
.
.
end

— expression logique : est une expression dont le résultat peut être vrai ou faux.
— séquence d’instructions : est le traitement à effectuer tant que expression logique est
vraie.

Interprétation : Tant que l’expression logique est vraie, la séquence d’instructions est exécutée
sous forme de boucle. Lorsque l’expression logique devient fausse, l’exécution passe à l’instruction
qui suit immédiatement la fin de la boucle (end).

Exemple 25 Calculer n! avec la boucle while :

Pr. Omar Benslimane 28 EST Salé


29 Chapitre 1. Introduction au logiciel MATLAB

L’instruction conditionnée IF Syntaxe :

if expression logique
séquence d’instructions
.
.
.
end

— expression logique : est une expression dont le résultat peut être vrai ou faux.
— séquence d’instructions : est le traitement à effectuer si expression logique est vraie.
Interprétation :
la séquence d’instructions n’est exécutée que si le résultat de l’évaluation de l’expression
logique est vraie. Dans le cas contraire on exécute l’instruction qui suit le mot clé end.

Il existe une séquence conditionnée sous forme d’alternatives :


Syntaxe 2 :

if expression logique
séquence d’instructions 1
else
séquence d’instructions 2
...
end

Pr. Omar Benslimane 29 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 30

Interprétation :
Si expression logique est vraie la séquence d’instructions 1 est exécutée, sinon c’est la séquence
d’instructions 2 qui est exécutée. Le déroulement du programme reprend ensuite à la première
instruction suivant le mot clé end.

Exemple 26 .

Il existe une séquence conditionnée sous forme d’alternatives :


Syntaxe 3 :

if expression logique 1
séquence d’instructions 1
elseif expression logique 2
séquence d’instructions 2
.
.
.
elseif expression logique n
séquence d’instructions n
else
séquence d’instructions par défaut
end

Pr. Omar Benslimane 30 EST Salé


31 Chapitre 1. Introduction au logiciel MATLAB

Interprétation :
— Si expression logique 1 est vraie la séquence d’instructions 1 est exécutée et le programme
reprend ensuite à la première instruction suivant le mot clé end.
— Sinon si expression logique 2 est vraie la séquence d’instructions 2 est exécutée et le
programme reprend ensuite à la première instruction suivant le mot clé end, etc.

— Si aucune des expressions logiques 1 à n n’est vraie alors séquence d’instructions par
défaut est exécutée.

Exemple 27 .

Ce programme sert à générer différentes matrices en fonction de la valeur de la variable numex


que l’utilisateur entre.

• L’instruction switch La commande switch est une autre forme d’instruction conditionnelle.
Elle peut souvent être utilisée à la place d’une instruction if imbriqué ou if-elseif.
Syntaxe :

switch expression
case valeur1,
instructions1…

Pr. Omar Benslimane 31 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 32

case valeur2,
instructions2…
.
.
.
otherwise
instructions ….
end

Interprétation :
— L’expression testée, expression, doit être un scalaire ou une chaı̂ne de caractère.
— valeur1, …valeuri,…, valeurN, sont des constantes numérique ou des constantes chaı̂ne
de caractères.
— séquence d’instructions i est la séquence d’instructions à exécuter si le contenu de la
variable expression est égal à la constante valeuri (expression==valeuri).
— Une fois qu’un bloc instructions i est exécuté, le flux d’exécution sort de la structure et
reprend après le end.
— Si aucun case vérifie l’égalité, le bloc qui suit otherwise est exécuté.

Exemple 28 .

Pr. Omar Benslimane 32 EST Salé


33 Chapitre 1. Introduction au logiciel MATLAB

1.6.1 Interruption d’une boucle de contrôle

Pour provoquer interruption d’une boucle de contrôle, on utilise l’une des deux instructions
suivantes :

— continue : Pour interrompre l’exécution du bloc d’instructions en cours d’exécution, et


passer à l’itération suivante de la boucle for ou while.
— break : Pour interrompre l’exécution du bloc d’instructions en cours d’exécution, et sortir
totalement de la boucle for ou while, en ignorant les itérations suivantes.

1.7 Fonction

— Pour définir une fonction sous Matlab, on écrit la définition de la fonction dans un fichier
avec une extension .m (fonction M-File).
— le nom du fichier sans suffixe doit être exactement le nom de la fonction (apparaissant
après le mot-clé function).
— On l’exécute en tapant le nom de la fonction avec entre parenthèses la liste des arguments.

On définit la fonction nomfonction de la manière suivante :

function [var S1 ,…,var Sm ] = nomfonction(var E1 ,…,var En )


séquence d’instructions

où

— var S1 ,…,var Sm sont les variables de sortie de la fonction.


— var E1 ,…,var En sont les variables d’entrée de la fonction.
— séquence d’instructions est le corps de la fonction.

Exemple 29 .

Pr. Omar Benslimane 33 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 34

Exemple 30 .

1.7.1 Fonctions Inline

Lorsque le corps de la fonction se résume à une expression relativement simple, on peut créer
la fonction directement dans l’espace de travail courant, sans utiliser un m-file auxiliaire,
La syntaxe des fonctions Inline est simple :

nom-de-fonction = inline (’expression’, ’var1’, ’var2’, …).

— L’expression mathématique constituant le corps de la fonction, ainsi que les variables,


sont considérées par MATLAB comme des chaı̂nes de caractères et doivent donc être
tapées entre apostrophes.

Pr. Omar Benslimane 34 EST Salé


35 Chapitre 1. Introduction au logiciel MATLAB

— Il est préférable que les fonctions soient vectorisées, comme c’est le cas pour les fonctions
prédéfinies. Pour cela, il est nécessaire d’utiliser uniquement des opérateurs pointés dans
l’expression définissant la fonction.
— La déclaration des variables peut être optionnelle dans la définition des fonctions inline,
MATLAB réalisant une déclaration implicite de celles-ci. Toutefois, cette facilité peut
engendrer des ambiguı̈tés dans le cas de fonctions comportant plusieurs variables, et il
est donc déconseillé de l’utiliser dans de tels cas.

Exemple 31 .

1.7.2 Fonctions anonymes

Ce troisième mode de définition de fonctions utilise, comme pour les fonctions inline, l’espace
de travail courant. Bien que la syntaxe minimale soit peu explicite, les fonctions définies de
cette manière sont généralement plus efficaces que les fonctions inline.
Syntaxe :

nom-de-fonction = @(var1, var2, …) expression

— Contrairement aux fonctions Inline l’expression mathématique qui constitue le corps de


la fonction ainsi que les variables ne doivent pas être tapées entre apostrophes.
— Il est préférable que les fonctions soient vectorisées, à l’instar des fonctions prédéfinies.
Pour cela, il est nécessaire d’utiliser uniquement des opérateurs pointés dans l’expression
définissant la fonction.

Pr. Omar Benslimane 35 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 36

Exemple 32 .

Tracer l’allures d’une fonction avec fplot la fonction fplot permet de tracer une fonction
entre deux bornes, sans définir un ensemble d’abscisses.
Syntaxe : fplot(f,xinterval)

Exemple 33 .

Remarque 1.7.1
— Lors de la définition d’une fonction, il est important de bien choisir l’ordre des variables
de sortie, par ordre d’importance. Il est ainsi toujours possible de récupérer les premières
variables de sortie, en ignorant les suivantes.

Pr. Omar Benslimane 36 EST Salé


37 Chapitre 1. Introduction au logiciel MATLAB

— Lorsque l’on définit une fonction dans un fichier, il est préférable de mettre un ( ;) à la
fin de chaque commande constituant la fonction. Ainsi, on évitera l’affichage de résultats
intermédiaires. Attention cependant à ne pas en mettre sur la première ligne.
— Pour quitter une fonction, on utilise l’instruction return.

1.8 Equations différentielles

Matlab possède plusieurs solveurs approchés pour les équations différentielles du type

y 0 (t) = f (t, y (t)) ,

t∈R

y (t ) = y
0 0

Le solveur choisi, par exemple ode45, ode23, ode113, ode15s, ode23s, ode23t, ou ode23tb, résout
le problème de Cauchy ci-dessus en utilisant une méthode et une précision choisies par l’utilisateur.
La syntaxe de base :
[T , Y ] = solver (odefun,tspan,y0).
— odefun : fonction au second membre du système f (t, y) .
— tspan : [t0 , t1 , ..., tf ] temps où on veut calculer la solution y.
— y0 : Condition initiale y (t0 ) (vecteur colonne n composantes).
— T : En sortie les temps où est calculée la solution.
— Y : Les valeurs de la solution aux temps T .

1.8.1 Solveur ode45, ode23

Les principales fonctions de MATLAB qui permettent la résolution des équations différentielles
sont :
— ode23 : Méthode de Runge-Kutta dite d’ordre 2,3.
— ode45 : Méthode de Runge-Kutta dite d’ordre 4,5 (la plus utilisée).
Réformation du problème : Pour résoudre une équation à l’aide des solveurs ode, il faut
l’exprimer sous une forme vectorielle. Pour cela :

Pr. Omar Benslimane 37 EST Salé


Chapitre 1. Introduction au logiciel MATLAB 38

— On peut écrire une équation différentielle quelconque

dn y dy d2 y dn−1 y
 
=f t, y, , 2 , ..., n−1
dtn dt dt dt

sous la forme d’un système d’équation différentielles du premier ordre en faisant le


changement de variable suivant :

dy d2 y d(n−1) y
y1 = y, y2 = , y3 = 2 , ..., yn = (n−1) .
dt dt d t
et on obtient : 



ẏ1 = y2




ẏ2 = y3

..


 .




ẏn = f (t, y1 , y2 , ..., yn )

Problème :

On cherche à résoudre un système d’équations différentielles ordinaires (EDO, en anglais ODE)


du premier ordre : 



ẏ1 = f1 (t, y1 , y2 , ..., yn )




ẏ2 = f2 (t, y1 , y2 , ..., yn )

..


 .




ẏn = fn (t, y1 , y2 , ..., yn )

avec les conditions initiales y1 (0) = y1 (0) , ..., yn (0) = yn0 .

Méthode :

La définition d’un système repose sur la définition de n fonctions de n + 1 variables. Ces


fonctions devront être programmées dans une fonction MATLAB sous la forme canonique
suivante :

Pr. Omar Benslimane 38 EST Salé


39 Chapitre 1. Introduction au logiciel MATLAB

function ypoint = f (y, t)


ypoint(1) = une expression de y (1) , y (2) , ..., y (n) et t.
..
.
ypoint(n) = une expression de y (1) , y (2) , ..., y (n) et t.
ypoint = ypoint( :) ;
end

— Les yi et les ẏi sont regroupés dans des vecteurs, ce qui fait que la forme de cette fonction
est exploitable quel que soit le nombre d’équations du système différentiel.
— La dernière ligne est nécessaire car la fonction doit renvoyer un vecteur colonne et non
un vecteur ligne.

Pour résoudre cette équation différentielle, il faut appeler un solveur et lui transmettre au
minimum :
— le nom de la fonction.
— les bornes d’intégration (tmin et tmax ).
— les conditions initiales.
Le solveur fournit en sortie un vecteur colonne représentant les instants d’intégration t, et une
matrice dont la première colonne représente les y1 calculés à ces instants, la deuxième les y2 ,…
et la nième les yn .
L’appel du solveur prend donc en général la forme suivante :

[t, y] = ode45(’f ’, [tmin tmax ] , [y1 (0)y2 (0)...yn (0)]) ;


y1 = y (:, 1) ;
y2 = y (:, 2) ;
..
.
yn = y (:, n) ;
plot(t, y1 , t, y2 ) % par exemple on trace y1 (t) et y2 (t)
plot(y1, y2) % ou bien y2 (y1 ) (plan de phase pour les oscillateurs)

Les lignes yi = ... servent à extraire les différentes fonctions yi dans des colonnes simples.
Nous avons utilisé ici ode45 qui est un Runge-Kutta-Merson imbriqué d’ordre 4 et 5.

Pr. Omar Benslimane 39 EST Salé

Vous aimerez peut-être aussi