[retour à la page principale | page précédente | page suivante]

Chapitre VIII: ITÉRATIONS

A- IF ELSE - FOR - WHILE

La structure générale de if et else est la suivante:

              if   expression logique 1

instructions A

elseif expression logique 2

instructions B

elseif expression logique 3

instructions C

else expression logique 4

instructions D

end

La structure générale de for est la suivante:

              for index = expression

instructions

end

La structure générale de while est la suivante:

              while expression

instructions

end

Une expression logique est une relation mathématique qui peut être soit vraie soit fausse.

Une expression est un scalaire ou un vecteur.

Les instructions sont répétées autant de fois qu'il y a de colonnes dans l'expression.

B- Exemples d'illustration

On considère une fibre optique reliant un serveur et plusieurs appareils. Si la distance entre le serveur et un appareil est inférieure à 30 mètres, la vitesse est obtenue en utilisant l'expression:

                     
    
Si la distance est supérieure à 30 mètres, la vitesse s'exprime par:
 
     
 
Pour traduire cette situation dans MATLAB on écrit:

    if d<=30

else

end

Si on suppose qu'on a un vecteur contenant les différentes distances, on peut résoudre le même problème en utilisant la boucle for comme suit:

 for k = 1:length(d)

if d(k) <= 30

else

end

La fonction MATLAB length détermine le nombre de fois que la boucle sera exécutée.

C- Exercices

VIII.1 Utiliser MATLAB pour écrire les instructions qui traduisent les phrases ci-dessous. Considérer que les variables sont des scalaires.

VIII.1.a Si le temps est inférieur à 50, l'incrémenter de 1.

VIII.1.b Si la différence entre volt_1 et volt_2 est supérieure à 2, imprimer la valeur de volt_1 et celle de volt_2.

VII1.c Si la valeur de A est inférieure à 0.003, alors mettre le résultat à 0. Sinon mettre le résultat égal à B divisé par A.

VIII.1.d Si logx est plus grand ou égal à 0 alors le temps est égal à 0 sinon incrémenter compte.

VIII.1.e Si dist est plus grand ou égal à 100, incrémenter temps par 10. Si dist est compris entre 50 et 100, incrémenter temps de 1. Sinon incrémenter temps par 0.5.

VIII.2 Déterminer le nombre de fois que la boucle for est exécutée dans les expressions ci-dessous.

 VIII.2.a  for k = 3:20

VIII.2.b for time = 10:-1:0

VIII.2.c for time = 10:5

[retour à la page principale | page précédente | page suivante]