Dichiarazioni condizionali
Le dichiarazioni condizionali consentono di selezionare, durante l'esecuzione, i blocchi di codici da eseguire. La dichiarazione condizionale più semplice è una dichiarazione if
. Ad esempio:
% 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; end
Le dichiarazioni if
possono includere scelte alternative, tramite le parole chiave opzionali elseif
o else
. Ad esempio:
a = randi(100, 1); if a < 30 disp('small') elseif a < 80 disp('medium') else disp('large') end
In alternativa, per effettuare il test dell'uguaglianza rispetto a una serie di valori noti, utilizzare una dichiarazione switch
. Ad esempio:
[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!') end
MATLAB®, sia per if
che per switch
, esegue il codice corrispondente alla prima condizione vera, quindi esce dal blocco di codice. Ogni dichiarazione condizionale richiede la parola chiave end
.
In generale, in caso di numerosi possibili valori discreti noti, risulta più semplice leggere le dichiarazioni switch
rispetto a if
. Non è tuttavia possibile effettuare test di disuguaglianza tra i valori di switch
e di case
. Ad esempio, non è possibile implementare questo tipo di condizione con una dichiarazione switch
:
yourNumber = input('Enter a number: '); if yourNumber < 0 disp('Negative') elseif yourNumber > 0 disp('Positive') else disp('Zero') end