Contenu principal

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 lequel factorial(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

| | | |

Sites web externes