Instrucciones condicionales
Las instrucciones condicionales permiten seleccionar en tiempo de ejecución qué bloque de código se va a ejecutar. La instrucción condicional más simple es una instrucción if
. Por ejemplo:
% 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
Las instrucciones if
pueden incluir opciones alternativas mediante el uso de las palabras clave opcionales elseif
o else
. Por ejemplo:
a = randi(100, 1); if a < 30 disp('small') elseif a < 80 disp('medium') else disp('large') end
Alternativamente, cuando desee probar la igualdad frente a un conjunto de valores conocidos, use una instrucción switch
. Por ejemplo:
[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
Tanto para if
como para switch
, MATLAB® ejecuta el código que corresponde a la primera condición verdadera y luego sale del bloque de código. Cada instrucción condicional requiere la palabra clave end
.
En general, cuando los valores posibles tienen muchas opciones discretas y conocidas, las instrucciones switch
son más fáciles de leer que las instrucciones if
. Sin embargo, no es posible buscar desigualdades entre valores de switch
y case
. Por ejemplo, este tipo de condición no se puede implementar con un switch
:
yourNumber = input('Enter a number: '); if yourNumber < 0 disp('Negative') elseif yourNumber > 0 disp('Positive') else disp('Zero') end