Vous êtes sur la page 1sur 15

Etablissement : USTHB

Document : TP 1 : Introduction à la programmation sous Matlab


Module : Info 3
Enseignant : L. Demri

1. TP 1 : INTRODUCTION A LA
PROGRAMMATION SOUS MATLAB

1.1. INTRODUCTION
Ce texte a pour but de familiariser l’étudiant avec la programmation et l’environnement MATLAB. On
commencera par présenter l’interface par défaut du logiciel ainsi que ses diverses composantes, puis on
expliquera comment réaliser les opérations les plus basiques sous l’environnement Matlab.

1.2. QU’EST-CE QUE LA PROGRAMMATION ?


Un ordinateur peut-être vu comme une calculatrice très performante. Tout ce qu’un ordinateur sait faire,
ce sont des calculs, et l’affichage des résultats de ces calculs. Il s’agit donc d’un des outils les plus
importants de l’ingénieur et du scientifique. Si une calculatrice ne permet de faire que des calculs
mathématiques simples, l’ordinateur est lui capable d’en réaliser de beaucoup plus complexes, beaucoup
plus rapidement, et d’afficher les résultats avec beaucoup plus de détails.

La programmation consiste à donner à un ordinateur une liste d’instructions ou de calculs à réaliser.


L’ordinateur est une machine : elle ne pense pas et ne sait pas ce qu’on essaye de faire. Il faut tout lui
expliquer de manière simple et explicite. A la moindre erreur ou ambiguïté, elle renvoie un message
d’erreur et arrête l’exécution du programme. C’est alors au programmeur de comprendre l’erreur, de
chercher d’où elle provient, et de la corriger.

L’ordinateur ne se trompe jamais. Tant que tous ses composants fonctionnent correctement, l’erreur vient
TOUJOURS du programmeur. Petit indice : si l’ordinateur parvient à faire fonctionner Windows, c’est
qu’il fonctionne correctement. L’erreur proviendra donc dans 99,99% du temps de votre programme.

Le but de ce module est de vous initier à la programmation afin de profiter de la puissance de calcul des
ordinateurs. Nous nous focaliserons sur la programmation dans le langage Matlab car il s’agit d’un
langage très répandu, mais gardez en tête qu’il existe énormément d’autres langages (C, C++, Java,
Python, assembleur, etc.)

1.3. QU’EST-CE QU’UN LANGAGE ? QU’EST-CE QUE MATLAB ?


Afin de donner des instructions à un ordinateur, il faut savoir parler son langage. Dans « l’esprit » de
l’ordinateur, tout n’est jamais que des 0 et des 1. Tout, absolument tout ce qui est traité par un ordinateur
est compris comme une suite de 0 et de 1. Il s’agit du langage binaire. De manière ultime, toutes les
instructions que vous donnerez à l’ordinateur seront réduites à une série de 0 et de 1 afin d’être exécutées.

Ceci dit, il ne serait pas aisé de s’installer devant son ordinateur et d’écrire une succession ennuyeuse de 0
et de 1 pour la moindre opération. Il existe donc des langages informatiques. Les langages consistent en
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

un ensemble de mots-clés tels que « si », « sinon », « tant que », de symboles (=,+,*,<,>) et en une
syntaxe, c'est-à-dire un agencement prédéfini des mots clés et des symboles. Un langage informatique est
plus proche du langage humain et donc plus facile à mémoriser. Les mots-clés sont des mots simples
qu’on utilise tous les jours ; nous connaissons tous les symboles les plus utilisés, et la syntaxe est
également proche de la syntaxe de la plupart des langages parlés par les humains.

Le programmeur rédige donc plutôt son programme dans un langage informatique. Un petit programme
se chargera ensuite de la traduction de ce langage en langage machine compris par l’ordinateur (la
fameuse suite de 0 et de 1). Ce programme s’appelle un « compilateur ».

Vu que la traduction est faite par la machine elle-même et non par un humain, le programme doit être
écrit d’une manière très précise. Par exemple :

*Ne pas confondre les majuscules et les minuscules,

*Ne pas oublier de lettres dans les mots-clés,

*Respecter une syntaxe cohérente

1.4. INTERFACE
Matlab utilise diverses sous-fenêtres dont chacune a un rôle précis. La figure suivante présente l’interface
MATLAB par défaut1 :

1
Il s’agit ici de la version 2009 ; si vous avez une autre version, vous devriez quand même pouvoir repérer les
mêmes modules
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

Nous présentons ici brièvement les fenêtres principales qui sont affichées et dont nous aurons besoin pour
ce premier TP :

1.4.1. L'EDITEUR (EDITOR):


Permet d'écrire des programmes dans le langage MATLAB. L'éditeur dispose de fonctionnalités aidant à
l'écriture de programmes MATLAB, comme la coloration des mots-clés (while, if, end...), et la complétion
automatique des noms de fonction (avec la touche Tab). La taille de la police, son style, les couleurs
appliquées aux mots-clés ainsi que de nombreux autres paramètres peuvent être personnalisés dans les
préférences (File  Preferences).

1.4.2. LA FENETRE DE COMMANDES (COMMAND WINDOW) :


Permet d'effectuer des commandes sans les inclure dans un programme, elle s'avère utile pour effectuer
des calculs rapides, tester le fonctionnement de certaines commandes, ou consulter la documentation
(commande doc). Lorsque la fenêtre de commandes est sélectionnée, la combinaison CTRL+C arrête
l'exécution d'un programme en cours, ce qui peut s'avérer utile lorsqu’un programme semble bloqué.
Lorsqu'une commande a été exécutée, elle défile vers le haut et la fenêtre attend une prochaine commande.
Il n’est pas possible de modifier les commandes qui ont déjà été exécutées : il s’agit en fait d’un
historique des commandes réalisées. L’instruction clc efface néanmoins le contenu de la fenêtre de
commandes.

1.4.3. L'HISTORIQUE DES COMMANDES (COMMAND HISTORY):


Affiche un historique détaillé des commandes exécutées dans la fenêtre de commandes. Cette fenêtre
conserve en mémoire la date et l’heure de chaque commande exécutée, même après la fermeture de
MATLAB.

1.4.4. L'ESPACE DE TRAVAIL (WORKSPACE):


Affiche les variables, structures ou objets actuellement en mémoire, leur contenu, leurs dimensions, leurs
valeurs minimale et maximale (dans le cas de matrices ou de vecteurs). D’autres informations peuvent
être affichées en faisant un clic droit sur « Name ».

1.5. PERSONNALISATION DE L’INTERFACE MATLAB


L'interface MATLAB peut être personnalisée: d'autres fenêtres peuvent être ajoutées, tandis que celles
affichées par défaut peuvent être supprimées. D'autre part, les fenêtres affichées peuvent être déplacées
les unes par rapport aux autres, tout comme il est possible de les détacher de manière à les afficher dans
une fenêtre séparée. Dans un premier temps, les fenêtres Current Directory et Command History peuvent
être supprimées (petite croix en haut à droite).

D’autre part, si l’une des fenêtres Command Window ou Editor n’est pas affichée, il vous suffit d’aller
dans « Desktop » et de cliquer sur « Command Window » ou « Editor », en fonction de la fenêtre qui
vous manque. Les fenêtres non-affichées sont celles qui ne sont pas cochées.
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

1.6. UTILISATION DE LA FENETRE DE COMMANDES ET CREATION DE VARIABLES:


Pour effectuer une opération dans la fenêtre de commandes, cliquez quelque part dedans et écrivez
l’opération puis appuyez sur entrée. Vous pouvez par exemple taper :

>> 5+3
(Vous n’avez pas à taper les deux flèches ; Matlab ne les affiche que pour distinguer facilement les lignes
que vous tapez et celles qu’il aura lui-même affichées). Appuyez ensuite sur la touche entrée et vous
obtiendrez :

ans =

8
La réponse (« ans » pour « answer » en anglais) est immédiatement donnée en dessous de votre opération.
Dans la fenêtre Workspace, vous verrez qu’une variable nommée « ans » a été créée et qu’elle contient la
valeur 8. Si vous faites une nouvelle opération, par exemple 2+4, vous verrez que le résultat sera affiché
encore une fois dans la fenêtre de commandes, et dans le Workspace vous constaterez que « ans » a
maintenant pris la valeur de 6. En effet, tant que vous ne créez pas vos propres variables, le résultat de
toute opération est stocké dans la variable « ans ». Tout résultat précédent est perdu.

Afin de stocker une valeur dans une variable, la syntaxe est « nom de variable = valeur », par exemple :

>> A=4
Lorsque vous appuyez sur entrée, vous obtenez :

A =

4
Dans le workspace, vous devriez maintenant avoir une nouvelle variable A dont la valeur est bien 4.
Notez que la variable « ans » existe toujours dans le workspace et que sa valeur n’a cette fois ci pas
changé.

Il est ensuite possible de réaliser des opérations sur les variables créées, par exemple,

>> B=A/2

B =

2
Une nouvelle variable « B » est créée, son contenu est déterminé en divisant la variable « A » par 2. Bien
entendu, cela fonctionne uniquement parce que la variable « A » existait avant que B ne soit créée. Si
vous aviez écrit, par exemple, « Y » à la place de « A », vous auriez obtenu une erreur disant que la
variable Y n’existe pas.

Note importante : Il n’est pas possible de donner n’importe quel nom de variable : Le nom de votre
variable ne doit pas commencer par un chiffre (par exemple : « 1ereVariable »), ne doit pas
comporter d’espace (« Ma Variable »), et ne doit pas contenir d’accents (« numéro »). Les noms de
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

variables peuvent cependant comporter des chiffres tant qu’ils ne sont pas au début du nom
(« variable1 »). D’autre part, attention aux majuscules et minuscules : V1 et v1 seront 2 variables
différentes. Si vous créez V1 et que vous demandez v1, le compilateur vous dira que la variable v1
n’existe pas.

Afin d’effacer une variable du workspace, utilisez la commande « clear » :

>> clear A
Dès que vous appuyez sur Entrée, la variable A disparaît du Workspace : elle n’est plus en mémoire. Afin
de supprimer toutes les variables d’un coup, il suffit d’écrire « clear » sans spécifier de variable.

La commande « clc » (clear command) permet d’effacer le contenu de la fenêtre de commandes (mais ne
supprime pas les variables en mémoire.

1.7. UTILISATION DE L’EDITEUR ET CREATION DE VECTEURS ET MATRICES:


La fenêtre de commande s’avère utile pour réaliser des opérations simples, lorsqu’on veut effectuer des
opérations rapides, sans chercher à conserver les instructions tapées. Vous constaterez que lorsqu’une
ligne est exécutée, il n’est pas possible de la modifier et de ré-exécuter le tout. Ceci rend la réalisation de
programmes complexes fastidieuse car il faut exécuter toutes les opérations l’une après l’autre, en
appuyant sur entrée à chaque instruction. Si l’une d’entre elles est fausse, il faut ré-exécuter tout le
programme à partir de cette instruction. L’éditeur est plus pratique car il nous permet de taper tout notre
programme sans l’exécuter à chaque étape, mais surtout de sauvegarder le programme entré afin de le
rouvrir ultérieurement.

Afin d’utiliser l’éditeur, il faut commencer par créer un nouveau fichier. Allez dans FileNew et
choisissez « Blank M-File ». Un nouveau fichier s’ouvre dans l’éditeur. Alternativement, vous pouvez
cliquer sur l’icône ou utiliser le raccourci clavier CTRL+N (vous devez avoir cliqué sur l’éditeur afin
que le raccourci fonctionne). Dès que le nouveau fichier apparaît, vous pouvez commencer à écrire un
programme.

Remarque importante : Il est fortement recommandé de commencer tous vos programmes par un
clear afin de supprimer les variables qui existaient avant l’exécution de votre programme, afin qu’elles
n’interfèrent pas avec celles déclarées dans votre programme. Vous n’en voyez peut-être pas l’utilité
maintenant, mais ce simple réflexe vous évitera pas mal de problèmes pour de plus grands projets.
D’autre part, il est très utile de supprimer le contenu de la fenêtre de commandes au début de vos
programmes afin de facilement localiser vos derniers résultats. Prenez donc l’habitude de toujours
commencer vos programmes par les instructions clear et clc.

Comme premier exemple d’utilisation de l’éditeur, nous allons créer des vecteurs et des matrices. Pour un
vecteur ligne, tapez (dans l’éditeur) :
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

v1=[3,1,2]
Lorsque vous appuyez sur entrée, rien ne se passe, le programme ne s’exécutera que lorsque vous le
demanderez. Pour le moment, le curseur se place uniquement à la ligne suivante et attend la suite. Il existe
3 manières de lancer un programme :

1. CTRL + Entrée : Evaluation de la cellule actuelle. Ce raccourci ne fonctionne que si le mode cellule
est activé. Pour l’activer, cliquer sur le programme dans l’éditeur et aller dans CellEnable Cell
Mode.
2. F5 : Lance le programme affiché dans l’éditeur. MATLAB sauvegardera automatiquement toute
modification avant de lancer le programme. Si le programme n’a pas été enregistré au préalable sur le
disque dur, une boîte de dialogue demandera à l’utilisateur le nom du programme ainsi que
l’emplacement où il/elle souhaite l’enregistrer.
3. F9 : Il est possible d’évaluer un morceau de code sélectionné en appuyant sur F9. Pour cela,
sélectionner une portion d’un programme et appuyer sur la touche F9. (Pour lancer tout le programme,
il faut le sélectionner entièrement).

Il n’y a pas vraiment de « meilleure manière » de lancer le programme, tout dépend de votre situation. La
première méthode est utile quand vous voulez rédiger un petit programme et l’exécuter sans vouloir le
garder sur votre disque dur. La seconde méthode est la plus rapide car il suffit d’appuyer sur une seule
touche ; cependant, à la toute première exécution vous DEVEZ sauvegarder votre programme afin qu’il
s’exécute. Enfin, la troisième méthode est pratique si vous voulez rapidement tester une ou deux lignes de
code (sans les écrire dans la fenêtre de commandes).

Dans votre situation, la touche F5 est appropriée car vous allez sauvegarder votre programme. Appuyez
donc sur F5. Vu que vous n’avez pas encore sauvegardé votre programme, une boîte de dialogue s’ouvre
afin que vous spécifiiez un nom de programme et un emplacement.

Remarque importante : Les noms de vos programmes ne doivent contenir ni accent, ni espace, et ils ne
doivent pas commencer par un chiffre ! Si vous n’observez pas cette règle, MATLAB refusera d’exécuter
votre programme. Ainsi, ne nommez pas votre fichier « Lilia Tarek.m », « Boumediène.m » ou
« 1erTP.m ».

Dès que vous avez enregistré votre premier programme, il s’exécute et le résultat s’affiche dans la fenêtre
de commande :

v1 =

3 1 2
Comme précédemment, la variable ainsi que son contenu s’affichent dans le workspace. Il s’agit bien
d’un vecteur ligne

Pour créer un vecteur colonne, utilisez le point-virgule « ; » comme suit :

v2=[4;3;2]
A l’exécution, vous obtenez :
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

v2 =

4
3
2
Bien qu’on ait écrit le vecteur sur une seule ligne, le symbole « ; » est interprété comme un « retour à la
ligne ». Ainsi, pour créer une matrice, de 3 lignes et de 2 colonnes, on écrira :

M=[4,2;
3,9;
2,1]
Après exécution :

M =

4 2
3 9
2 1
Jusqu’à présent, le résultat de l’opération effectuée a toujours été affiché dans la fenêtre de commandes.
Généralement, on ne cherche à afficher que le dernier résultat de l’opération et pas la déclaration des
variables, vecteurs ou matrices, ou les résultats intermédiaires. Ceci est possible en ajoutant un point
virgule « ; » après les lignes dont le résultat ne nous intéresse pas. Par exemple :

x=1;
y=2;
z=x+y
A l’exécution, vous constaterez que les variables x et y ont bien été créées (elles existent dans le
workspace), mais le résultat des lignes correspondantes n’ont pas été affichées dans la fenêtre de
commandes. Le résultat de la somme, cependant, est affiché dans la fenêtre de commandes car la ligne ne
contient pas de point virgule.

Le point virgule sert également à effectuer plusieurs opérations sur une même ligne :

x=1;y=2;z=x+y
A l’exécution, vous obtiendrez le même résultat que précédemment : la création de x et y n’est pas
affichée dans la fenêtre de commandes, mais le résultat de la somme est affiché car il n’y a pas de point
virgule après la troisième instruction. Attention : si vous décidez de ne pas mettre de point virgule sur une
ligne pour que son résultat s’affiche, vous ne devez pas ajouter d’instructions à la fin de cette ligne. Le
compilateur refusera de compiler votre programme si vous faites cette erreur.

1.8. LES COMMENTAIRES:


Les commentaires sont des lignes écrites par le programmeur qui ne seront pas compilées lors de
l’exécution du programme : le compilateur les ignorera complètement. Les commentaires servent
principalement à :

 Expliquer ce que font certaines lignes de code à d’autres programmeurs ou au programmeur lui-même
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

 Inscrire des informations relatives au programme, son but, son auteur, sa date de création, et les dates
où il a été modifié

 C’est une méthode très rapide pour annuler l’exécution de certaines lignes de code sans les supprimer
complètement du programme (cela s’avère souvent utile).

Sous Matlab, on écrit des commentaires en commençant la ligne par le symbole « % ». Tout ce qui est
écrit après ce symbole et sur la ligne concernée sera affiché en vert (par défaut) et ignoré par le
compilateur :

%Ceci est un commentaire


X=29 %Création d’une variable X
Notez qu’un commentaire ne commence pas forcément au début d’une ligne. Dans le code ci-dessus, la
variable X sera créée et le reste de la ligne sera ignoré.

1.9. RECUPERER LES VALEURS D’UNE MATRICE:


Une fois qu’une variable est créée, il est possible de demander à afficher son contenu en tapant son nom
dans la fenêtre de commandes et en appuyant sur entrée :

>> v1

v1 =

3 1 2
Pour récupérer une seule valeur d’un vecteur ou d’une matrice, il faut utiliser des parenthèses afin de
spécifier quel élément on souhaite récupérer :

>> v1(2)

ans =

1
Matlab a consulté le vecteur v1, a cherché son deuxième élément, et l’a renvoyé comme réponse.

Si on souhaite récupérer plusieurs valeurs, on utilisera l’opérateur « : », qui peut être lu comme
« jusqu’à ». Si on veut récupérer les 2 premières valeurs, on écrira :

>> v1(1:2)

ans =

3 1
En langage Matlab l’instruction ci-dessus veut dire : « donne moi les valeurs de v1, de la première jusqu’à
la deuxième ».

Dans le cas d’une matrice avec plusieurs lignes et plusieurs colonnes, il faut séparer les lignes et les
colonnes avec une virgule « , ». Matlab considère toujours que vous commencez par spécifier la ligne
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

avant la colonne. Si l’on veut récupérer la valeur à la 2ème ligne et 1ère colonne de la matrice M ci-dessus,
on écrira donc:

>> M(2,1)

ans =

3
Si l’on veut récupérer les 4 éléments du bas de la matrice M, on écrira :

>> M(2:3,1:2)

ans =

3 9
2 1

Traduction : « donne moi les éléments de la matrice M qui sont sur la ligne 2 jusqu’à la ligne 3, et sur la
colonne 1 jusqu’à la colonne 2 ». N’oubliez pas de toujours commencer par spécifier les lignes !

En pratique :

Un fichier audio est en réalité un vecteur dont chaque valeur représente un échantillon à envoyer à un
haut-parleur à travers une conversion numérique-analogique. Si on veut découper un morceau du fichier
audio, on l’isolera dans une variable en utilisant une instruction comme « morceau =
signal(200:300) », et on sauvegardera morceau dans un nouveau fichier audio.

1.10. CONSTRUIRE DES MATRICES A PARTIR D’AUTRES MATRICES:


Il est possible de construire des matrices à partir d’autres matrices que vous avez déjà créées. Par exemple,
si on a deux vecteurs colonnes x et y, on peut les combiner afin de créer une matrice à 2 colonnes :

x=[3;2;1];
y=[1;2;3];
M = [x,y];
Résultat :

M =

3 1
2 2
1 3
Matlab a traité chacun des vecteurs x et y comme s’il s’agissait d’un seul nombre et les a assemblés un
après l’autre. Comme chacun est en réalité constitué de 3 éléments, la matrice résultante est une matrice à
3 lignes et à 2 colonnes. Si par contre on avait fait :

M = [x;y]
On aurait obtenu :
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

M =

3
2
1
1
2
3
Vu qu’on a mis un point-virgule « ; » entre x et y, Matlab a placé x dans une matrice, est revenu à la
ligne, et a placé y. Comme les deux vecteurs sont des vecteurs colonne, le résultat est un vecteur colonne
contenant les valeurs de x puis de y. Cette opération s’appelle la concaténation.

Ces opérations fonctionnent aussi avec des matrices : Si on a deux matrices A et B contenant chacune 2
lignes et 2 colonnes, on peut les assembler horizontalement :

A=[2,2;1,3];
B=[3,6;4,6];
C=[A,B]
%Résultat:
C =

2 2 3 6
1 3 4 6
ou verticalement :

D=[A;B]
%Résultat :
D =

2 2
1 3
3 6
4 6
Il faut cependant faire attention ! on ne peut pas concaténer n’importe quelle matrice avec n’importe
quelle autre : le résultat doit toujours être rectangulaire. Si vous essayez de concaténer un vecteur colonne
avec un vecteur ligne, Matlab vous reverra une erreur. Ceci est aussi valable si vous essayez d’assembler
une matrice 3x3 avec une matrice 2x2.

1.11. L’OPERATEUR « : » :
Comme mentionné plus haut, l’opérateur « : », dans le langage Matlab, peut être interprété comme
« jusqu’à ». Nous l’avons utilisé pour récupérer les valeurs de vecteurs ou de matrices, mais il peut être
utilisé pour créer des vecteurs ou des matrices.

Supposons que vous vouliez créer un vecteur contenant les valeurs 1, 2, 3, … et ainsi de suite jusqu’à
1000. Avec vos connaissances actuelles, la déclaration d’un tel vecteur serait très fastidieuse et elle
prendrait énormément de place dans votre programme. L’opérateur « : » permet de simplifier cette
syntaxe en ne spécifiant que les valeurs de début et de fin :
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

>> x=1:5
x =

1 2 3 4 5
Dans cet exemple, nous n’avons spécifié que 5 valeurs afin de vous montrer le résultat. Cependant, la
valeur 1000 aurait aussi bien fonctionné, tout comme la valeur 10000, 100000, 1000000, … et ainsi de
suite. Ceci dit, il y a une limite à partir de laquelle vous obtiendrez une erreur :

>> x=1:1000000000;
??? Maximum variable size allowed by the program is exceeded.
En clair, vous avez demandé la création d’une variable beaucoup trop grande, et la mémoire attribuée par
votre ordinateur à Matlab ne suffit pas. Le nombre maximal dépend de votre ordinateur, plus
spécifiquement de la taille de votre RAM (mémoire-vive).

Il est également possible de spécifier un « pas » d’avancement entre les valeurs du vecteur. Par exemple,
si on veut avoir tous les nombres pairs entre 0 et 10 on écrira :

>> x=0:2:10
x =

0 2 4 6 8 10
Comme vous le voyez, le pas est spécifié entre la valeur de départ et la valeur initiale. La syntaxe est donc
« valeur_initiale : pas : valeur finale ».

Cette manière de créer les vecteurs est particulièrement utile lorsqu’on veut générer une suite de nombres
compris entre deux entiers. Si l’on voulait créer un vecteur contenant toutes les valeurs comprises entre 0
et 1 avec un pas de 0.1, on écrirait :

>> x=0:0.1:1

x =

Columns 1 through 7

0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000

Columns 8 through 11

0.7000 0.8000 0.9000 1.0000


Ici, vous constaterez que l’affichage a changé : en effet, vu que la fenêtre de commandes n’était pas assez
large pour écrire le vecteur, Matlab l’a divisé en deux lignes en spécifiant les colonnes représentées sur
chaque ligne. « Columns 1 through 7 » veut tout simplement dire « Colonnes 1 à 7 ».

Vous remarquerez aussi qu’il y a 11 colonnes au lieu de 10, ce qui est tout a fait logique vu que le premier
élément est 0. Cela peut sembler trivial mais il est bon de se souvenir de ce détail.

Une dernière remarque : vous constaterez que pour les nombres décimaux on sépare la partie entière et la
partie décimale par un point. Le nombre pi s’écrira donc 3.14 et non 3,14. Ceci est très important car
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

l’écriture [3,4] donnera un vecteur à deux éléments tandis que l’écriture [3.4] donnera un vecteur à un
seul élément. D’autre part, si vous écrivez « x=3,14 », Matlab créera une variable x contenant la valeur
3, et une variable ans contenant la valeur 14.

1.12. LES FONCTIONS:


Jusqu’ici, les opérations que nous avons réalisées ont été assez simples. Nous n’avons utilisé que des
opérateurs arithmétiques très basiques. La liste des opérateurs les plus employés est donnée dans l’aide
mémoire à la fin de ce document.

Les fonctions permettent d’effectuer des calculs plus complexes. Par exemple, la fonction « cos »
renverra le cosinus d’un nombre entré, la fonction « sqrt » renverra sa racine carrée, et ainsi de suite.
Pour utiliser une fonction, la syntaxe est : « nomDeLaFonction(variable) ». Par exemple, pour la fonction
cosinus :

>> cos(2)

ans =

-0.4161
Certaines fonctions peuvent nécessiter plusieurs variables. Par exemple, la fonction « zeros » permet de
créer une matrice vide de n lignes et de m colonnes (n et m étant choisis par l’utilisateur). Dans ce cas, il
faut séparer les variables avec des virgules :

>> zeros(2,3)

ans =

0 0 0
0 0 0
D’autre part, les fonctions (sous Matlab) peuvent renvoyer plus d’un résultat à la fois. Par exemple, la
fonction « max » permet de renvoyer la valeur maximale d’un vecteur.

>> max([1,2,4,3])

ans =

4
Cependant, il est aussi possible de récupérer l’indice du plus grand élément. Pour cela, la syntaxe
devient : « [réponse1,réponse2]=nomDeLaFonction(variable) ». Dans notre cas :
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

>> [valeur_max,indice] = max([1,2,4,3])

valeur_max =

indice =

3
Le plus grand élément du vecteur est bel et bien le 3ème.

1.13. LA DOCUMENTATION:
La documentation peut être accédée en utilisant la commande doc dans la fenêtre de commandes. Afin
d’appeler la documentation d’une fonction particulière, tapez « doc nomDeLaFonction ». Par
exemple, pour consulter la documentation de la fonction cosinus, vous utiliserez « doc cos ».

Aucun cours ne peut vous apprendre toutes les fonctionnalités et tous les détails de Matlab. La
documentation est là pour vous apprendre à utiliser Matlab de manière experte, vous rafraichir la mémoire
en cas d’oubli, et pour vous expliquer certains aspects qui vous semblent complexes. La documentation
est rédigée en anglais (tout programmeur/ingénieur/scientifique se doit de maîtriser l’anglais !), et le texte
est un peu lourd à digérer car elle n’est pas rédigée dans un style pédagogique mais plutôt académique.
Mais vous pouvez être sûr(e) que toutes les informations s’y trouvent, y compris des explications
rigoureuses de certaines notions mathématiques !

La documentation est divisée en « Toolbox » (en anglais boîte à outils). Les fonctions de Matlab sont
effectivement organisées en « Toolbox » dont chacune est spécialisée dans un domaine mathématique ou
scientifique. Il existe par exemple le Toolbox « Aérospatial », le Toolbox « Bioinformatique », le
Toolbox « Economie », le Toolbox « Traitement d’images » et ainsi de suite. La documentation des
Toolbox est souvent rédigée sous forme de cours pour les étudiants cherchant à s’approfondir dans
certains domaines.

Afin de trouver une fonction spécifique, vous pouvez la chercher dans le navigateur d’aide. La
présentation de la documentation est assez différente selon les versions de Matlab et vous devriez
idéalement vous familiariser avec celle de votre version.
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

A retenir :

1.14. SYNTAXES ET OPERATEURS :


Exemple de commande Description de la commande

Création de variables, vecteurs et matrices

Crée une variable « a » contenant la valeur 3 et affiche le résultat


a=3
dans la fenêtre de commandes.

Crée une variable « a » contenant la valeur 3 sans afficher le


a = 3;
résultat dans la fenêtre de commandes.

z = 3 + 2j; Crée un nombre complexe. L’écriture 3+2i est également valide.

Crée un vecteur ligne de 3 éléments. Les virgules « , » peuvent


A = [1,2,3];
être remplacées par des espaces.

B = [4;5;6]; Crée un vecteur colonne de 3 éléments.

M = [1,2,3; 4,5,6; 7,8,9]; Crée une matrice de 3 lignes et 3 colonnes.

Récupération des valeurs d’une matrice

Renvoie l’élément situé à la 2ème ligne et à la 3ème colonne de la


M(2,3) matrice M. (La matrice M doit exister dans le Workspace et avoir
au moins 2 lignes et 3 colonnes).

Renvoie le 6ème élément de la matrice M. Les éléments sont


M(6) comptés de haut en bas et colonne par colonne. (La matrice doit
comporter au moins 6 éléments).

Renvoie les éléments situés sur les lignes 1 à 3 et sur la colonne 1


M(1:3,1)
de la matrice M. (Il s’agit ici d’un vecteur colonne).

Renvoie les éléments situés sur les lignes 1 à 3 et sur les colonnes
M(1:3,2:3) 2 à 3 de la matrice M. (Il s’agit ici d’une matrice à 3 lignes et 2
colonnes).

Renvoie les éléments situés sur toutes les lignes de M et sur sa 2ème
M(:,2)
colonne.
Etablissement : USTHB
Document : TP 1 : Introduction à la programmation sous Matlab
Module : Info 3
Enseignant : L. Demri

Appel d’une fonction

[R1, R2, …] = Appelle la fonction nomDeFonction en lui envoyant les paramètres


nomDeFonction(p1,p2,…) p1, p2, etc. et retourne le résultat dans le vecteur [R1, R2, etc.].

Quelques opérateurs

A*B Calcule le produit matriciel des matrices A et B.

A/B Division à droite de A par B.

A\B Division à gauche de A par B.

A.*B Multiplication de A et B élément par élément.2

A./B Division de A par B, élément par élément

A^2 Produit matriciel de la matrice A par elle-même (A puissance 2)

A.^2 Produit élément par élément de la matrice A par elle-même.

Autres

Ligne de commentaires, ces lignes ne sont pas prises en compte


%commentaires
lors de l’exécution. MATLAB les affiche par défaut en vert.

2
Consultez le document « Comprendre la différence entre produit matriciel et produit simple » pour plus de
détails.

Vous aimerez peut-être aussi