Professional Documents
Culture Documents
MatLab ch3-MFiles
MatLab ch3-MFiles
MATLAB
Eléments de programmation
Pr M. Saadi
2022-2023
Pr M. Saadi
Boucle itérative for
Pr M. Saadi
Boucle itérative for : exemple
>> s=0; >> sum([1:11].^2) >> p = 1;
>> for i = [1:11] ans = >> for i=[1:11]
s = s + (i*i); 506 p = p*i;
end end
>> s >> p
s= p=
506 39916800
>> prod([1:11])
ans =
39916800
Somme des carrés des entiers Même résultat en utilisant la Produit des nombres de 1 à
de 1 à 11. Remarque: fonction sum qui réalise la 11.
l’utilisation des crochets n’est somme des éléments d’un Même résultat en utilisant la
pas obligatoire pour la vecteur. fonction prod qui opère sur un
définition de expr. vecteur.
Pr M. Saadi
Boucle itérative while : exemple
>> i = 0; >> sum([1:11].^2) >> i=1;
>> sum = 0; ans = >> while (i>0)
>> while(i<=10) 506 i = i+1;
i=i+1; end
sum = sum + (i*i); CTRL-C
end
>> sum
Sum =
506 Même résultat en utilisant Attention: boucle sans fin. Il
la fonction sum qui réalise est toujours possible
la somme des éléments d’interrompre une
Somme des carrés des d’un vecteur. commande matlab en
entiers de 1 à 11. pressant la combinaison de
touches « CTRL » et « C »
L’utilisation des opérations matricielles et
vectorielles augmente la rapidité.
Pr M. Saadi
Sortir d’une boucle for ou while :
break : la boucle s’arrête immédiatement et rend la main à la fin de la boucle
return : la boucle s’arrête immédiatement et rend la main au programme appelant
(script ou fonction) >> i=0;
>> i = 0; >> while(i>=0 && i~=10)
>> while (i>=0) i=i+1;
i = i+1; end
if (i==10) >> i
break; i=
end 10
end
>> i
i= Même résultat en insérant une condition
10 d’arrêt directement dans le while. Cette
écriture est à privilégier car elle évite
Lorsque i vaut 10, la boucle while est l’utilisation du break.
interrompue.
Exemples d’utilisation :
Pr M. Saadi
Pour écrire plusieurs instructions à la fois, il est utile d’utiliser des fichiers
scripts ou des fonctions.
Script Fonction
Suite d’instructions peut prendre des arguments
Pas de paramètre d’entrée d’entrée
Ne renvoie aucune valeur retourne une ou plusieurs valeurs
Pr M. Saadi
Exemples de script
Pr M. Saadi
Exemples de fonction
Fichier SommeEtProduit.m
Pr M. Saadi
Il est impératif de commenter vos programmes (scripts et fonctions)
Pr M. Saadi
Editeur de texte sous Matlab :
◦ Menu File>New>M-File
◦ Commande edit :
edit : ouvre l’éditeur de texte
edit nomfich : ouvre le fichier nomfich.m dans l’éditeur de texte
Pr M. Saadi
Ce bouton sert à créer un
répertoire.
Utilisez le navigateur de fichier pour aller jusque dans Ce bouton sert à remonter d’un
le répertoire où vous allez sauvegarder les fichiers .m niveau dans la hiérarchie des
répertoires.
Pr M. Saadi
Avec le bouton de droite de la
souris, on fait apparaître un
menu contextuel. Cliquer sur
New > M-File
Pr M. Saadi
Fichier M et sous fonctions :
◦ un fichier M peut contenir le code de plusieurs fonctions :
la première fonction du fichier sera la fonction principale i.e. la
fonction appelée par le fichier M
les fonctions suivantes sont les sous fonctions appelées par la
fonction principale
Remarque :
◦ l’ordre d’apparition des sous fonctions est indifférent du moment que
la fonction principale apparaît en premier
◦ Matlab contrôle si une fonction est (par ordre de priorité) :
1. une sous fonction
2. une fonction privée
3. une fonction standard (prédéfinie)
Pr M. Saadi
Matlab reconnaît la fonction mean comme étant la sous
fonction du M-file newstats.m plutôt que la fonction
standard implémentée dans le « search path »
Pr M. Saadi
Une sous-fonction est visible:
◦ depuis la fonction principale
◦ depuis une autre sous-fonction
Pr M. Saadi
Un M-file peut contenir la définition d’autres
fonctions que la fonction principale.
Pr M. Saadi
Portée des variables:
◦ chaque fonction a son propre espace de
travail
donc:
◦ elles n’ont pas accès aux mêmes variables
(sauf si global).
mais:
◦ elles ont accès aux variables de leurs
ancêtres.
Pr M. Saadi
Pr M. Saadi
Pr M. Saadi
Pr M. Saadi