En aquest tema, aprendrem a crear i utilitzar funcions en MATLAB. Les funcions són blocs de codi reutilitzables que permeten estructurar millor els programes, reduir la duplicació de codi i millorar la llegibilitat i mantenibilitat del codi.

Continguts

Definició de Funcions

Una funció en MATLAB es defineix en un fitxer separat amb l'extensió .m. La sintaxi bàsica per definir una funció és la següent:

function [output1, output2, ...] = functionName(input1, input2, ...)
    % Descripció de la funció
    % Codi de la funció
end

Exemple

function result = addNumbers(a, b)
    % Aquesta funció suma dos nombres
    result = a + b;
end

En aquest exemple, la funció addNumbers pren dos paràmetres d'entrada a i b, i retorna la seva suma.

Paràmetres d'Entrada i Sortida

Les funcions poden tenir múltiples paràmetres d'entrada i sortida. Els paràmetres d'entrada es passen a la funció quan es crida, i els paràmetres de sortida es retornen al final de l'execució de la funció.

Exemple amb múltiples paràmetres d'entrada i sortida

function [sum, difference, product] = basicOperations(x, y)
    % Aquesta funció calcula la suma, la diferència i el producte de dos nombres
    sum = x + y;
    difference = x - y;
    product = x * y;
end

Abast de les Variables

L'abast d'una variable es refereix a la part del codi on la variable és accessible. En MATLAB, les variables definides dins d'una funció són locals a aquesta funció i no són accessibles fora d'ella.

Exemple d'abast de variables

function result = localScopeExample()
    % Aquesta funció demostra l'abast local de les variables
    a = 10;
    b = 20;
    result = a + b;
end

En aquest exemple, les variables a i b són locals a la funció localScopeExample i no es poden accedir fora d'ella.

Exemples Pràctics

Exemple 1: Funció per calcular l'àrea d'un cercle

function area = circleArea(radius)
    % Aquesta funció calcula l'àrea d'un cercle donat el seu radi
    area = pi * radius^2;
end

Exemple 2: Funció per trobar el màxim de tres nombres

function maxVal = maxOfThree(a, b, c)
    % Aquesta funció retorna el màxim de tres nombres
    maxVal = a;
    if b > maxVal
        maxVal = b;
    end
    if c > maxVal
        maxVal = c;
    end
end

Exercicis Pràctics

Exercici 1: Funció per calcular la mitjana de tres nombres

Descripció: Escriu una funció anomenada averageOfThree que prengui tres nombres com a paràmetres d'entrada i retorni la seva mitjana.

function avg = averageOfThree(x, y, z)
    % Aquesta funció calcula la mitjana de tres nombres
    avg = (x + y + z) / 3;
end

Exercici 2: Funció per convertir graus Celsius a Fahrenheit

Descripció: Escriu una funció anomenada celsiusToFahrenheit que prengui una temperatura en graus Celsius com a paràmetre d'entrada i retorni la temperatura equivalent en graus Fahrenheit.

function fahrenheit = celsiusToFahrenheit(celsius)
    % Aquesta funció converteix graus Celsius a Fahrenheit
    fahrenheit = (celsius * 9/5) + 32;
end

Exercici 3: Funció per calcular el factorial d'un nombre

Descripció: Escriu una funció anomenada factorial que prengui un nombre enter positiu com a paràmetre d'entrada i retorni el seu factorial.

function result = factorial(n)
    % Aquesta funció calcula el factorial d'un nombre enter positiu
    if n == 0
        result = 1;
    else
        result = n * factorial(n - 1);
    end
end

Conclusió

En aquesta secció, hem après a definir funcions en MATLAB, a treballar amb paràmetres d'entrada i sortida, i a comprendre l'abast de les variables dins de les funcions. Les funcions són una eina poderosa per organitzar i reutilitzar codi, i són essencials per escriure programes eficients i mantenibles. A continuació, passarem a explorar la diferència entre scripts i funcions, així com les tècniques de depuració i gestió d'errors.

© Copyright 2024. Tots els drets reservats