En este tema, aprenderemos sobre las estructuras de control de flujo en MATLAB, específicamente las sentencias if
, else
, y switch
. Estas estructuras permiten que el programa tome decisiones y ejecute diferentes bloques de código en función de ciertas condiciones.
- Sentencia
if
if
La sentencia if
se utiliza para ejecutar un bloque de código solo si una condición específica es verdadera.
Sintaxis
Ejemplo
En este ejemplo, el mensaje "x es positivo" se mostrará en la consola porque la condición x > 0
es verdadera.
- Sentencia
if-else
if-else
La sentencia if-else
permite ejecutar un bloque de código si la condición es verdadera y otro bloque si la condición es falsa.
Sintaxis
if condición % Bloque de código si la condición es verdadera else % Bloque de código si la condición es falsa end
Ejemplo
En este caso, el mensaje "x es negativo o cero" se mostrará porque la condición x > 0
es falsa.
- Sentencia
if-elseif-else
if-elseif-else
La sentencia if-elseif-else
permite evaluar múltiples condiciones en secuencia.
Sintaxis
if condición1 % Bloque de código si condición1 es verdadera elseif condición2 % Bloque de código si condición2 es verdadera else % Bloque de código si ninguna condición es verdadera end
Ejemplo
x = 0; if x > 0 disp('x es positivo'); elseif x < 0 disp('x es negativo'); else disp('x es cero'); end
En este ejemplo, el mensaje "x es cero" se mostrará porque ninguna de las condiciones anteriores es verdadera.
- Sentencia
switch
switch
La sentencia switch
se utiliza para seleccionar una de varias opciones posibles basadas en el valor de una variable.
Sintaxis
switch variable case valor1 % Bloque de código para valor1 case valor2 % Bloque de código para valor2 otherwise % Bloque de código si ningún caso coincide end
Ejemplo
day = 'Tuesday'; switch day case 'Monday' disp('Hoy es lunes'); case 'Tuesday' disp('Hoy es martes'); case 'Wednesday' disp('Hoy es miércoles'); otherwise disp('Hoy no es lunes, martes ni miércoles'); end
En este caso, el mensaje "Hoy es martes" se mostrará porque el valor de day
es 'Tuesday'
.
Ejercicios Prácticos
Ejercicio 1
Escribe un script que verifique si un número es par o impar y muestre un mensaje correspondiente.
Solución
Ejercicio 2
Escribe un script que clasifique una calificación numérica (0-100) en letras (A, B, C, D, F).
Solución
grade = 85; if grade >= 90 disp('A'); elseif grade >= 80 disp('B'); elseif grade >= 70 disp('C'); elseif grade >= 60 disp('D'); else disp('F'); end
Ejercicio 3
Escribe un script que determine el nombre del día de la semana basado en un número (1-7).
Solución
dayNumber = 4; switch dayNumber case 1 disp('Lunes'); case 2 disp('Martes'); case 3 disp('Miércoles'); case 4 disp('Jueves'); case 5 disp('Viernes'); case 6 disp('Sábado'); case 7 disp('Domingo'); otherwise disp('Número de día inválido'); end
Conclusión
En esta sección, hemos aprendido cómo utilizar las estructuras de control de flujo if
, else
, elseif
, y switch
en MATLAB. Estas herramientas son fundamentales para tomar decisiones en nuestros programas y ejecutar diferentes bloques de código en función de condiciones específicas. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión de estos conceptos. En el próximo tema, exploraremos los bucles for
y while
para repetir bloques de código de manera eficiente.
Curso de Programación en MATLAB
Módulo 1: Introducción a MATLAB
- Comenzando con MATLAB
- Interfaz y Entorno de MATLAB
- Comandos Básicos y Sintaxis
- Variables y Tipos de Datos
- Operaciones y Funciones Básicas
Módulo 2: Vectores y Matrices
- Creación de Vectores y Matrices
- Operaciones con Matrices
- Indexación y Segmentación
- Funciones de Matrices
- Álgebra Lineal en MATLAB
Módulo 3: Estructuras de Programación
- Flujo de Control: if, else, switch
- Bucles: for, while
- Funciones: Definición y Alcance
- Scripts vs. Funciones
- Depuración y Manejo de Errores
Módulo 4: Visualización de Datos
- Conceptos Básicos de Gráficos
- Gráficos 2D
- Gráficos 3D
- Personalización de Gráficos
- Técnicas Avanzadas de Gráficos
Módulo 5: Análisis de Datos y Estadísticas
- Importación y Exportación de Datos
- Estadísticas Descriptivas
- Preprocesamiento de Datos
- Análisis de Regresión
- Pruebas Estadísticas
Módulo 6: Temas Avanzados
- Entrada/Salida de Archivos
- Manejo de Grandes Conjuntos de Datos
- Técnicas de Optimización
- Conceptos Básicos de Simulink
- Computación Paralela