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
ifLa 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-elseLa 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
endEjemplo
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-elseLa 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
endEjemplo
x = 0;
if x > 0
disp('x es positivo');
elseif x < 0
disp('x es negativo');
else
disp('x es cero');
endEn este ejemplo, el mensaje "x es cero" se mostrará porque ninguna de las condiciones anteriores es verdadera.
- Sentencia
switch
switchLa 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
endEjemplo
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');
endEn 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');
endEjercicio 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');
endConclusió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
