En aquest tema, explorarem les diferències entre scripts i funcions en MATLAB, així com els avantatges i desavantatges de cadascun. També aprendrem com crear i utilitzar scripts i funcions de manera efectiva.
- Introducció
Què és un Script?
Un script és un fitxer que conté una seqüència de comandes MATLAB. Quan s'executa, MATLAB llegeix i executa les comandes en ordre. Els scripts no accepten entrades ni retornen sortides explícitament, i les variables definides en un script són globals, és a dir, estan disponibles en l'espai de treball de MATLAB.
Què és una Funció?
Una funció és un bloc de codi que accepta entrades, realitza càlculs i retorna sortides. Les funcions tenen el seu propi espai de treball, de manera que les variables definides dins d'una funció no afecten l'espai de treball global de MATLAB.
- Creació de Scripts
Exemple de Script
% Aquest és un script simple que calcula l'àrea d'un cercle radius = 5; area = pi * radius^2; disp(['L''àrea del cercle és: ', num2str(area)]);
Explicació
- Comentaris: Els comentaris comencen amb
%
i no són executats per MATLAB. - Variables:
radius
iarea
són variables definides en l'espai de treball global. - Funcions:
pi
és una funció predefinida que retorna el valor de π, idisp
mostra un missatge a la consola.
- Creació de Funcions
Sintaxi Bàsica
Exemple de Funció
function area = calculateCircleArea(radius) % Aquesta funció calcula l'àrea d'un cercle donat el radi area = pi * radius^2; end
Explicació
- Definició: La funció es defineix amb la paraula clau
function
. - Entrades i Sortides:
radius
és l'entrada, iarea
és la sortida. - Espai de Treball: Les variables dins de la funció són locals i no afecten l'espai de treball global.
- Comparació entre Scripts i Funcions
Característica | Scripts | Funcions |
---|---|---|
Espai de Treball | Global | Local |
Entrades | No accepta entrades explícites | Accepta entrades explícites |
Sortides | No retorna sortides explícites | Retorna sortides explícites |
Reutilització | Limitada | Alta |
Depuració | Pot ser més difícil | Més fàcil |
- Avantatges i Desavantatges
Scripts
Avantatges:
- Fàcils de crear i executar.
- Bons per a tasques simples i ràpides.
Desavantatges:
- Les variables poden interferir amb l'espai de treball global.
- Difícil de reutilitzar i mantenir per a projectes grans.
Funcions
Avantatges:
- Millor organització del codi.
- Variables locals no interfereixen amb l'espai de treball global.
- Fàcils de reutilitzar i mantenir.
Desavantatges:
- Requereixen més planificació i estructura.
- Exercicis Pràctics
Exercici 1: Crear un Script
Crea un script que calculi la suma dels primers 10 nombres enters i mostri el resultat.
Solució:
% Script per calcular la suma dels primers 10 nombres enters sum = 0; for i = 1:10 sum = sum + i; end disp(['La suma dels primers 10 nombres enters és: ', num2str(sum)]);
Exercici 2: Crear una Funció
Crea una funció que accepti un vector com a entrada i retorni la seva mitjana.
Solució:
function avg = calculateAverage(vector) % Funció per calcular la mitjana d'un vector avg = sum(vector) / length(vector); end
- Resum
En aquesta secció, hem après les diferències entre scripts i funcions en MATLAB. Els scripts són útils per a tasques simples i ràpides, mentre que les funcions són més adequades per a codi reutilitzable i ben organitzat. Hem vist exemples pràctics de com crear i utilitzar scripts i funcions, i hem realitzat exercicis per reforçar els conceptes apresos.
En el següent tema, explorarem les tècniques de depuració i gestió d'errors per assegurar-nos que el nostre codi funcioni correctament i sigui fàcil de mantenir.
Curs de Programació en MATLAB
Mòdul 1: Introducció a MATLAB
- Començant amb MATLAB
- Interfície i Entorn de MATLAB
- Comandes i Sintaxi Bàsiques
- Variables i Tipus de Dades
- Operacions i Funcions Bàsiques
Mòdul 2: Vectors i Matrius
- Creació de Vectors i Matrius
- Operacions amb Matrius
- Indexació i Segmentació
- Funcions de Matrius
- Àlgebra Lineal en MATLAB
Mòdul 3: Estructures de Programació
- Flux de Control: if, else, switch
- Bucles: for, while
- Funcions: Definició i Abast
- Scripts vs. Funcions
- Depuració i Gestió d'Errors
Mòdul 4: Visualització de Dades
- Conceptes Bàsics de Gràfics
- Gràfics 2D
- Gràfics 3D
- Personalització de Gràfics
- Tècniques Avançades de Gràfics
Mòdul 5: Anàlisi de Dades i Estadística
- Importació i Exportació de Dades
- Estadístiques Descriptives
- Preprocessament de Dades
- Anàlisi de Regressió
- Proves Estadístiques
Mòdul 6: Temes Avançats
- Entrada/Sortida de Fitxers
- Gestió de Grans Conjunts de Dades
- Tècniques d'Optimització
- Conceptes Bàsics de Simulink
- Computació Paral·lela