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
fors’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); endLes instructions
whiles’exécutent en boucle tant qu’une condition reste vraie.Par exemple, trouvez le premier nombre entier
npour 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
endVous 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