Instructions conditionnelles
Les instructions conditionnelles vous permettent de sélectionner le bloc de code à exécuter au run time. L’instruction conditionnelle la plus simple est l’instruction if. Par exemple :
% Generate a random number
a = randi(100, 1);
% If it is even, divide by 2
if rem(a, 2) == 0
disp('a is even')
b = a/2;
endLes instructions if peuvent inclure des choix alternatifs, à l’aide des mots-clés facultatifs elseif ou else. Par exemple :
a = randi(100, 1);
if a < 30
disp('small')
elseif a < 80
disp('medium')
else
disp('large')
endSi vous souhaitez tester l’égalité par rapport à un ensemble de valeurs connues, vous pouvez aussi utiliser une instruction switch. Par exemple :
[dayNum, dayString] = weekday(date, 'long', 'en_US');
switch dayString
case 'Monday'
disp('Start of the work week')
case 'Tuesday'
disp('Day 2')
case 'Wednesday'
disp('Day 3')
case 'Thursday'
disp('Day 4')
case 'Friday'
disp('Last day of the work week')
otherwise
disp('Weekend!')
endPour if et switch, MATLAB® exécute le code correspondant à la première condition vraie, puis il sort du bloc de code. Chaque instruction conditionnelle nécessite le mot-clé end.
En général, lorsque vous avez de nombreuses valeurs discrètes connues, les instructions switch sont plus faciles à lire que les instructions if. Cependant, vous ne pouvez pas tester l’inégalité entre les valeurs de switch et case. Par exemple, vous ne pouvez pas mettre en place ce type de condition avec un switch :
yourNumber = input('Enter a number: ');
if yourNumber < 0
disp('Negative')
elseif yourNumber > 0
disp('Positive')
else
disp('Zero')
end