Instructions de contrôle de boucle
Avec les instructions de contrôle de boucle, vous pouvez exécuter de manière répétée un bloc de code. Il existe deux types de boucles :
Les instructions
for
s’exécutent en boucle un nombre précis de fois et pistent chaque itération avec une variable d’index qui s’incrémente.Par exemple, préallouez un vecteur à 10 éléments et calculez cinq valeurs :
x = ones(1,10); for n = 2:6 x(n) = 2 * x(n - 1); end
Les instructions
while
s’exécutent en boucle tant qu’une condition reste vraie.Par exemple, trouvez le premier nombre entier
n
pour lequelfactorial(n)
est un nombre à 100 chiffres :n = 1; nFactorial = 1; while nFactorial < 1e100 n = n + 1; nFactorial = nFactorial * n; end
Chaque boucle nécessite le mot-clé end
.
Il est recommandé d’utiliser une indentation pour améliorer la lisibilité des boucles, en particulier lorsqu’elles sont imbriquées (à savoir quand une boucle en contient une autre) :
A = zeros(5,100); for m = 1:5 for n = 1:100 A(m, n) = 1/(m + n - 1); end end
Vous pouvez sortir d’une boucle de manière programmatique en utilisant une instruction break
ou passer à la prochaine itération d’une boucle en utilisant une instruction continue
. Par exemple, comptez le nombre de lignes dans l’aide de la fonction magic
(à savoir toutes les lignes de commentaire jusqu’à une ligne vide) :
fid = fopen('magic.m','r'); count = 0; while ~feof(fid) line = fgetl(fid); if isempty(line) break elseif ~strncmp(line,'%',1) continue end count = count + 1; end fprintf('%d lines in MAGIC help\n',count); fclose(fid);
Conseil
Si vous créez par inadvertance une boucle infinie (une boucle qui ne s’interrompt jamais d’elle-même), arrêtez son exécution en appuyant sur Ctrl+C.
Voir aussi
for
| while
| break
| continue
| end