Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

Variables de boucle

La variable de boucle définit la valeur de l'index de boucle pour chaque itération. Vous le définissez dans la première ligne d'une instruction parfor.

parfor p=1:12

Pour les valeurs de toutes les itérations, la variable de boucle doit être évaluée sous forme d’entiers consécutifs croissants. Chaque itération est indépendante de toutes les autres et chacune possède sa propre valeur d'index de boucle.

Obligatoire (statique): Les affectations à la variable de boucle ne sont pas autorisées.

Cette restriction est nécessaire, car changer p dans le corps parfor ne peut pas garantir l'indépendance des itérations.

Cet exemple tente de modifier la valeur de la variable de boucle p dans le corps de la boucle et n'est donc pas valide.

parfor p = 1:n
    p = p + 1;
    a(p) = i;
end

Obligatoire (statique): Vous ne pouvez en aucun cas indexer ou indicer la variable de boucle.

Cette restriction est nécessaire, car référencer un champ d'une variable de boucle ne peut garantir l'indépendance des itérations.

Le code suivant tente de référencer un champ (b) de la variable de boucle (p) comme s'il s'agissait d'une structure. Les deux lignes de la boucle ne sont pas valides.

parfor p = 1:n
    p.b = 3
    x(p) = fun(p.b)
end

De même, le code suivant n'est pas valide car il tente d'indexer la variable de boucle sous la forme d'une matrice 1x1:

parfor p = 1:n
    x = p(1)
end

Voir aussi

Sujets associés