En aquest tema, aprendrem com depurar el codi i gestionar errors en MATLAB. La depuració és una part essencial del desenvolupament de programari, ja que ens permet identificar i corregir errors en el nostre codi. MATLAB ofereix diverses eines i tècniques per ajudar-nos en aquest procés.
Continguts
Introducció a la Depuració
La depuració és el procés de trobar i corregir errors en el codi. Els errors poden ser de diversos tipus, com ara errors de sintaxi, errors lògics o errors d'execució. MATLAB proporciona eines per ajudar a identificar i corregir aquests errors.
Tipus d'Errors
- Errors de Sintaxi: Aquests errors es produeixen quan el codi no segueix les regles de la sintaxi de MATLAB.
- Errors Lògics: Aquests errors es produeixen quan el codi s'executa sense problemes, però no produeix els resultats esperats.
- Errors d'Execució: Aquests errors es produeixen durant l'execució del codi, sovint a causa de condicions inesperades.
Punts de Ruptura (Breakpoints)
Els punts de ruptura són una eina essencial per a la depuració. Permeten aturar l'execució del codi en un punt específic per inspeccionar l'estat del programa.
Com Afegir Punts de Ruptura
- Des de l'Editor: Feu clic a la marge esquerra de la línia de codi on voleu afegir un punt de ruptura.
- Comanda
dbstop
: Podeu utilitzar la comandadbstop
per afegir punts de ruptura des de la línia de comandes.
Comandes Relacionades
dbclear
: Elimina punts de ruptura.dbcont
: Continua l'execució després d'un punt de ruptura.dbquit
: Surt del mode de depuració.
Eines de Depuració
MATLAB ofereix diverses eines per ajudar a depurar el codi.
Inspecció de Variables
Podeu inspeccionar el valor de les variables en qualsevol moment durant la depuració utilitzant la finestra de l'espai de treball o la línia de comandes.
Comandes de Depuració
dbstep
: Executa la següent línia de codi.dbup
idbdown
: Navega per la pila de crides.
Exemple Pràctic
function result = myFunction(x) y = x + 1; z = y * 2; result = z / 0; % Això produirà un error d'execució end
Afegiu un punt de ruptura a la línia y = x + 1;
i executeu la funció myFunction(5)
. Utilitzeu les eines de depuració per inspeccionar les variables y
i z
.
Gestió d'Errors
La gestió d'errors és crucial per fer que el codi sigui robust i fiable. MATLAB proporciona estructures per capturar i gestionar errors.
Estructura try-catch
L'estructura try-catch
permet capturar errors i executar codi alternatiu.
Exemple Pràctic
function result = safeDivision(a, b) try result = a / b; catch ME disp('Error: Divisió per zero.'); result = NaN; end end
Exercicis Pràctics
Exercici 1: Depuració Bàsica
- Creeu una funció que calculi la suma dels elements d'un vector.
- Afegiu un error lògic intencionat (per exemple, multipliqueu en lloc de sumar).
- Utilitzeu punts de ruptura i les eines de depuració per identificar i corregir l'error.
Exercici 2: Gestió d'Errors
- Creeu una funció que llegeixi un fitxer de text i retorni el seu contingut.
- Utilitzeu l'estructura
try-catch
per gestionar errors si el fitxer no existeix.
function content = readFile(filename) try fid = fopen(filename, 'r'); content = fread(fid, '*char')'; fclose(fid); catch ME disp('Error: No s''ha pogut obrir el fitxer.'); content = ''; end end
Conclusió
En aquesta secció, hem après com utilitzar les eines de depuració de MATLAB per identificar i corregir errors en el nostre codi. També hem vist com gestionar errors utilitzant l'estructura try-catch
. Aquestes habilitats són essencials per desenvolupar codi robust i fiable. En el següent mòdul, explorarem tècniques avançades de visualització de dades.
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