@ccueil Colles

Programmation avec Matlab

Structures algorithmiques de base



Condition et test if

La syntaxe d'une instruction conditionnelle est, assez communément,
if test
   %  instructions
end
Si le test est vrai les instructions situées entre if et end sont exécutées, pas dans le cas contraire.

Plus généralement, la syntaxe complète est:
if test 1
   %  instructions
elseif test 2
   %  instructions
elseif test 3
   %  instructions
…
else 
   %  instructions
end
Dès qu'un test est vrai, les instructions correspondantes sont effectuées puis on sort de l'ensemble des conditions, même si une condition après un autre elseif est vraie, elle est ignorée: l'ordre importe.

Opérateurs logiques

Pour définir un test, on peut utiliser les opérateurs logiques:
  • == : égalité
  • < , >, <= et >= : inférieur ou supérieur, strictement ou non
  • ~ : négation, par exempe x~=4 pour le test x différent de 4, équivalent à ~(x==4)
  • & : "et" logique
  • | : "ou" logique
Les résultats vrai (true) ou faux (false) correspondent aux constantes %T et %F.

Boucle for

La syntaxe générale d'une boucle for est la suivante, V étant un vecteur
for i=V
   %  instructions
end
par exemple
V=[1 2 6 78];
for i=V
    disp(i);
end
qui retourne
    1.  
 
    2.  
 
    6.  
 
    78.  
Tout vecteur (voir création de matrices / vecteurs) peut être utilisé, numérique ou non:
for i=["a" "b" "c"]
    disp(i);
end
retourne a b c.
Un des cas le plus fréquent en pratique est celui où V=[1 2 3 … n]: on balaye successivement tous les entiers:
for i=1:n
   %  instructions    
end

Boucle conditionnelle while

La syntaxe d'une boucle conditionnelle est:
while test
   %  instructions
end


Voir aussi: