Consigli per MATLAB: il "debug"

Consigli per MATLAB: il "debug"

di Elena Bachini -
Numero di risposte: 0

Cari studenti, 

ora che abbiamo visto insieme un po' di comandi principali del linguaggio MATLAB, inizieremo a implementare algoritmi e funzioni piu' complessi. Succedera' a volte di non riuscire a capire perchè il codice non funzioni, anche se si e' implementanto tutto ciò che prevede l'algoritmo.

Prima cosa: tranquilli, è normale.

Ma che fare allora? Il consiglio è di provare a fare un piccolo "debug" del codice (letteralmente "cerchiamo il bug, l'errore....").

Come si fa?  Analizziamo PASSO A PASSO le istruzioni che abbiamo implementato. Lo possiamo fare inserendo un "bullet point" all'inizio dello script o della function che vogliamo analizzare cliccando sul numero di riga (a sinistra) da cui vogliamo iniziare l'analisi. (Attenzione: se lo script non è salvato, quando inseriremo il bullet point cliccando sul numero della riga, questo rimarrà grigio, mentre diventerà rosso dopo aver salvato il file).  Armiamoci ora di carta e penna e prepariamoci a svolgere insieme al MATLAB i conti previsti dal codice.

  1. Inseriamo il "bullet point" alla riga da cui vogliamo iniziare l'analisi
  2. Quando corriamo il nostro script (RUN) il Matlab si fermerà non appena arriverà alla riga in cui abbiamo inserito il bullet point e apparirà una freccetta verde proprio in corrispondenza della stessa. 
  3. Controlliamo ora il workspace: verifichiamo che il Matlab abbia creato opportunamente le variabili definite prima della riga del bullet point.
  4. Andiamo avanti un passo alla volta e prima del Matlab, svolgiamo sul nostro foglio di carta le stesse operazioni controllando di volta in volta il workspace.

Il Matlab ottiene  i nostri stessi risultati? Se non è così, abbiamo trovato un bug....

Vedrete che in questo modo troverete moltissimi errori in modo semplice. 

Alla fine del debug, ricordatevi di togliere il bullet point ri-cliccandoci sopra.


In questi primi laboratori svolgiamo problemi che possiamo tranquillamente svolgere a mano (trovare le radici di un'eq di secondo grado, ad esempio), ma già nel caso del metodo di bisezione le cose potrebbero essere complicate, i vettori troppo grandi... In questi casi dobbiamo "ingegnarci" e settate in maniera furba i dati di entrata in modo tale da avere soluzioni calcolabili a mano. Ad esempio: prendete una parabola f(x) = x^2 -1 di cui siamo capaci di calcolare TUTTO, compresa l'intersezione con l'asse x e un intervallo in cui sicuramente c'è una sola radice... Ecco che anche applicare il metodo di bisezione a mano sarà semplice e potremo controllare passo a passo l'evoluzione del nostro programma.


Buon lavoro!


i docenti