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.

  1. 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:

r = 5;
a = calculateCircleArea(r);
disp(['El área del círculo es: ', num2str(a)]);

  1. 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

  1. 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

  1. 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

  1. 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.

© Copyright 2024. Todos los derechos reservados