Pour exécuter les exemples proposés dans les articles précédents nous avons utilisé la fenêtre des commandes MATLAB.  Il fallait saisir les commandes après l’invite (>>), puis taper  la touche « Entrer » pour les exécuter.  Ce type d’utilisation est comparable à celui d’une calculatrice.

Pour rappel,  MATLAB est  un puissant outil de développement de programmes ; à ce titre les commandes peuvent être saisies dans un fichier, puis exécutées.  Ceci a pour avantage d'exécuter le fichier autant de fois qu’on le souhaite, ou d’en faire une copie de sauvegarde sur un support quelconque.

Deux types de fichiers peuvent ainsi être crées dans MATLAB :

Les fichiers scripts 

Ce sont des fichiers programme ayant une extension « .m ».  Dans ce type de fichier, on peut saisir la série de commandes, que l’on veut exécuter.  Un fichier script s’apparente à une procédure ; une fois lancé il exécute la tâche qui lui est demandée. Il n’attend pas des valeurs d’entrée et ne retourne pas non plus des résultats en sortie.

Même si un fichier script n’attend pas des valeurs en entrée, et ne retourne pas des résultats en sortie, lors de son exécution toutes les variables crées pendant son déroulement sont stockées dans l’espace de travail MATLAB. Ces variables peuvent être partagées avec d'autres programme, dès lors que la session courante reste ouverte.

Les variables ne doivent pas obligatoirement être déclarées, de plus dans un fichier script on a pas de délimiteurs de début (Begin),  ni de Fin (End)  de fichier.

Les fonctions 

Une fonction est un fichier ayant une extension « .m », mais elle accepte des valeurs en entrée et retourne des résultats en sortie.

On définit une fonction comme un groupe d’instructions qui effectuent une tâche.

 

Pour écrire une fonction on va adopter la syntaxe suivante :

function  [s1, s2, …sN] = nom_de_ma_fonction(e1, e2, e3…,eN)

s1, s2 …sN : sont les résultats que la fonction renvoie ;

e1, e2, e3…eN : sont des paramètres ou valeurs d’entrée.

 

Dans MATLAB  les fonctions sont définies dans des fichiers séparés.  Le nom de la fonction et le nom du fichier correspondant doit obligatoirement être le même.

 

Exemple : on veut créer une fonction qui calcule le cube d’un nombre x puis renvoie le résultat y.

Le programme sera :

 

function  y = cube(x)

% cette fonction calcule le cube d’un nombre x

      y = x^3 ;

end

 

La fonction sera enregistrée sous le nom « cube.m ».

 

Une fonction doit toujours finir par un délimiteur de fin (« end »).

 

On distingue plusieurs types de fonctions :

Les fonctions anonymes 

C’est une fonction qui n’est pas enregistrée sous un nom de fichier mais est contenue dans une variable ayant pour valeur un pointeur de fonctions « function_handle ».

 Les fonctions anonymes peuvent accepter des données en entrée puis fournir des résultats en sortie.

 

Syntaxe :

f = @(liste_d_arguments)expression

 

Exemple d’utilisation  d’une fonction anonyme qui calcule la puissance n d’un nombre a dans script :

P = @(a, n)a^n ;

A  = P(3,2) ;

B  = P(2,5) ;

disp(A) ;

disp(B);

 

Enregistrer le script par exemple sous  exple1.m  Puis exécuter en cliquant sur "Run" ou en tapant exple1 après l'invite des commandes;  on aura le résultat suivant:

>> exple1

     9

 

    32

Dans la fenêtre de travail, les variables  A = 9; B = 32; et P = @(a,n)a^n  sont crées.

Les fonctions locales 

Un fichier programme MATLAB peut contenir du code pour une ou plusieurs fonctions. La fonction principale suivie d'autres fonctions ; ce sont les fonctions locales. Elles sont comparées à des sous-routines en langage de programmation classique.

Les fonctions imbriquées 

On peut définir une fonction à l’intérieur d’une autre fonction. On dira que les deux fonctions sont imbriquées.

Les fonctions privées 

Une fonction privée est une fonction visible uniquement par un groupe limité d’autres fonctions.

Remarque, toute variable crée à l’intérieur d’une fonction est locale à cette fonction.

Une variable visible par d’autres fonctions est appelée variable globale et doit être déclarée par le mot clé « GLOBAL ».

Une fois crée, une fonction peut être utilisée dans un fichier script.

 

Exemple : créer un script qui permet de demander à un utilisateur de saisir un nombre au clavier, puis calcule le cube de ce nombre puis affiche le résultat à l’écran.

 

Créer un fichier nommé « exemple_script.m », puis saisir

Les lignes de codes suivantes :

 

a  = input(‘saisir un nombre puis taper sur Entrer’) ;

b  = cube(a) ;

disp(b) ;

 

Enregistrer le fichier sachant aussi que le fichier “cube.m” de l’exemple precedent a aussi bien été enregistré.  Exécuter le fichier script « exemple_script.m ».  A l’invitation par la phrase « saisir un nombre puis taper sur Entrer », saisir le nombre que vous voulez,  le résultat du cube de ca nombre sera affiché dans la fenêtre des commandes.

 

Pour créer un fichier « .m », on peut utiliser l’éditeur MATLAB ou tout autre éditeur comme bloc note par exemple.

L’éditeur MATLAB 

L’ouverture de l’éditeur MATLAB est simple.  Il suffit de lancer MATLAB, puis dans le groupe File  cliquer sur l’onglet

 New Script.

Une nouvelle barre de menus apparaît, ainsi qu'une fenêtre d'édition.

fenetreeditionmtlb1

 

Description de quelques boutons principaux:

New pour créer un nouveau fichier; 
Open: pour ouvrir un fichier; 
Save: pour sauver un fichier; 
Comment pour ajouter des commentaires dans le programme; 
Indent: pour décaler les lignes ou des blocs de codes du programme; 
Insert: pour insérer une section, une fonction ou d'autres types de données; 
Breakpoints pour insérer des points d'arrêt;
Le groupe Run:         permet d'exécuter le programme en entier, ou section par section. 

 

MATLAB propose aussi un éditeur d'afficher les résultats des différentes instructions "On live", il se trouve dans le groupe Files, en cliquant sur le bouton New Live Script. Cet éditeur est très pratique pour des programmes de traitement d'images par exemple.

Pour finir l'exécution d un programme est faite lorsqu'on tape son nom dans la fenêtre de commandes, puis en terminant par la touche « Entrer » ; ou  depuis l’éditeur de programmes MATLAB par la touche RUN.