Académique Documents
Professionnel Documents
Culture Documents
2- La boucle for
Le bout de code(en ligne!) suivant calcule, à l’aide de la boucle for, le n-ème terme de la suite
de Fibonacci
>> n=20;
>> u0=1;u1=1;
>> for i=2:n,u=u1+u0,u0=u1;u1=u;end
>> u
u=
10946
Les boucles for peuvent être imbriquées. Par exemple, la matrice de Hilbert de taille( mxn)
peut être obtenue à l’aide de la double boucle suivante :
for i=1:m
for j=1:n
H(i,j)=1/(i+j-1);
end
end
Remarque :
Il faut éviter d’utiliser les variables i et j comme indices, quand on travaille avec des nombres
complexes, puisqu’elles sont des variables prédéfinies dont la valeur est .
3- La boucle while
Cette instruction est très utile dans les algorithmes itératifs, la boucle while consiste à
exécuter une séquence d’instructions tant qu’une condition est vérifiée. La syntaxe de la
boucle while est
While expression_logique
……..
end
Oùexpression_logique est en général une opération de comparaison. Pour éviter une boucle
sans fin, les instructions dans le corps de la boucle doivent impérativement agir sur le résultat
de expression_logique.
La boucle suivante calcule les termes successifs de la suite de Fibonacci et s’arrête si un>106.
u0=1; u1=1;u=2;n=3;
while(n<10^6)
n=n+1;
n=u1+u0;
u0=u1;u1=u;
end
4- L’alternative if
if expression_logique
instructions I
else
instructions II
end
La séquence d’instructions « instruction I » est exécutée si expression_logique est vraie,
sinon c’est la séquence d’instructions « instruction I » qui sera exécutée. A noter que la partie
else peut être facultative. Dans ce cas l’alternative se réduit à
if expression_logique
instructions I
end
L’alternative complète a pour syntaxe
if expression_logique 1
instructions I
elseif expression_logique 2
instructions II
……
elseif expression_logiqueN
instructions N
else
instructions par défaut
end
Avec l’instruction switch case, l’exécution des différents choix est basée sur la valeur d’une
variable ou d’une expression et non sur plusieurs expressions logiques comme dans
l’alternative if. Les mots clés case et otherwise délimitent les groupes d’expressions. La
syntaxe est
switch sélecteur
case cte1
instructions I
case cte2
instructions II
….
case cte N
instructions N
otherwise
instructions par défaut
Error(‘Factorisation inconnue’)
end
Où
- sélecteur est une variable ou expression numérique ou chaines de caractères ;
- cte1, cte2, …..,cteN sont des constantes numériques ou chaines.
Dans l’exemple suivant, on sélectionne une factorisation à partir de la valeur d’une variable
chaine.
fact=’LU’ ;
switch fact
case ‘LU’
[F1,F2]=lu(A) ;
case ‘QR’
[F1,F2]=qr(A);
case’CHOL’
F1=chol(A);
otherwise
error(‘Factorisation inconnue’)
end