Dans l'exercice 4, nous avons réutilisé la fonctionnalité de l'exercice 3. Pour éviter de recopier systématiquement le source de ces fonctionnalisés, le langage Matlab dispose, comme tout langage qui se respecte, de routines appelées en l'occurrence fonctions.
La syntaxe d'appel d'une fonction est, le plus couramment
Lorsque la fonction renvoie plusieurs variables, la syntaxe devient
Il est possible de ne pas affecter le résultat d'une fonction
Par exemple, la fonction plot est en général appelée sans affectation de résultat. Pour plus de détails, faire 'help plot'.
La définition d'une fonction nommée 'xxx' est stockée dans un fichier intitulé 'xxx.m'. Lors de l'interprétation, si Matlab trouve un mot inconnu, il cherche si celui-ci ne correspond pas à un nom de fichier situé dans les répertoires qui lui sont connus.
La première ligne de ce fichier définit la syntaxe de la fonction:
function out = xxx(in1,in2,....)
ou
function [out1,out2,....] = xxx(in1,in2,....)
ou
function xxx(in1,in2,....)
Voyons un exemple. La fonction timestwo renvoie le double d'un nombre. Le fichier timestwo.m contient le texte suivant:
function y = timestwo(x)
y = 2*x;
Assurez-vous que le fichier timestwo.m est dans votre répertoire de travail et tapez dans la fenêtre de commande Matlab l'instruction suivante:
timestwo(1)
Etonnant, non?