En este tema, aprenderemos sobre las funciones en MATLAB, cómo definirlas, cómo se manejan los parámetros y el alcance de las variables dentro de las funciones. Las funciones son bloques de código reutilizables que permiten estructurar mejor los programas y evitar la repetición de código.
- Definición de Funciones
1.1. Sintaxis Básica
En MATLAB, una función se define en un archivo separado con extensión .m
. La estructura básica de una función es la siguiente:
function [output1, output2, ...] = functionName(input1, input2, ...) % Descripción de la función % Aquí va el código de la función end
1.2. Ejemplo Práctico
Vamos a crear una función simple que calcule el área de un círculo dado su radio.
function area = calculateCircleArea(radius) % calculateCircleArea calcula el área de un círculo dado su radio % Input: % radius - El radio del círculo % Output: % area - El área del círculo area = pi * radius^2; end
Guarda este código en un archivo llamado calculateCircleArea.m
.
1.3. Llamada a la Función
Para usar la función calculateCircleArea
, simplemente la llamamos desde la línea de comandos o desde otro script:
- Parámetros de Entrada y Salida
2.1. Múltiples Parámetros de Entrada
Las funciones pueden aceptar múltiples parámetros de entrada. Por ejemplo, una función que calcule el área de un rectángulo:
function area = calculateRectangleArea(length, width) % calculateRectangleArea calcula el área de un rectángulo % Inputs: % length - La longitud del rectángulo % width - El ancho del rectángulo % Output: % area - El área del rectángulo area = length * width; end
2.2. Múltiples Parámetros de Salida
Las funciones también pueden devolver múltiples valores. Por ejemplo, una función que calcule el área y el perímetro de un rectángulo:
function [area, perimeter] = calculateRectangleProperties(length, width) % calculateRectangleProperties calcula el área y el perímetro de un rectángulo % Inputs: % length - La longitud del rectángulo % width - El ancho del rectángulo % Outputs: % area - El área del rectángulo % perimeter - El perímetro del rectángulo area = length * width; perimeter = 2 * (length + width); end
- Alcance de las Variables
3.1. Variables Locales
Las variables definidas dentro de una función son locales a esa función y no son accesibles desde fuera de la función. Esto significa que las variables dentro de una función no interfieren con las variables en el espacio de trabajo o en otras funciones.
function result = addNumbers(a, b) % addNumbers suma dos números % Inputs: % a - Primer número % b - Segundo número % Output: % result - La suma de a y b result = a + b; % La variable 'result' es local a esta función end
3.2. Variables Globales
Si necesitas compartir datos entre diferentes funciones, puedes usar variables globales. Sin embargo, su uso debe ser limitado ya que puede hacer que el código sea difícil de seguir y depurar.
global sharedVar; sharedVar = 10; function useGlobalVar() global sharedVar; disp(['El valor de sharedVar es: ', num2str(sharedVar)]); end
- Ejercicios Prácticos
Ejercicio 1: Función para Calcular el Volumen de un Cilindro
Crea una función llamada calculateCylinderVolume
que acepte el radio y la altura de un cilindro y devuelva su volumen.
function volume = calculateCylinderVolume(radius, height) % calculateCylinderVolume calcula el volumen de un cilindro % Inputs: % radius - El radio de la base del cilindro % height - La altura del cilindro % Output: % volume - El volumen del cilindro volume = pi * radius^2 * height; end
Ejercicio 2: Función para Calcular el Promedio y la Desviación Estándar
Crea una función llamada calculateStats
que acepte un vector de números y devuelva el promedio y la desviación estándar.
function [meanValue, stdValue] = calculateStats(numbers) % calculateStats calcula el promedio y la desviación estándar de un vector de números % Input: % numbers - Un vector de números % Outputs: % meanValue - El promedio de los números % stdValue - La desviación estándar de los números meanValue = mean(numbers); stdValue = std(numbers); end
- Conclusión
En esta sección, hemos aprendido cómo definir funciones en MATLAB, cómo manejar múltiples parámetros de entrada y salida, y el alcance de las variables dentro de las funciones. Las funciones son una herramienta poderosa para estructurar y modularizar el código, facilitando su mantenimiento y reutilización. En el próximo tema, exploraremos las diferencias entre scripts y funciones, y cómo elegir cuál usar en diferentes situaciones.
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