18.01.2015 Views

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

12.7. Grafici<br />

Figura 12.3: Finestra con il grafico<br />

12.7 Grafici<br />

Supponiamo <strong>di</strong> voler fare il grafico <strong>di</strong> una serie <strong>di</strong> dati (x i , y i ), i = 1,...,n. Sulla Command Window (o<br />

all’interno <strong>di</strong> uno script) basta <strong>di</strong>gitare il comando<br />

plot(x,y)<br />

Si aprirà una nuova finestra con il grafico (ve<strong>di</strong> Figura 12.3).<br />

Potremo poi mo<strong>di</strong>ficare il colore, il tipo <strong>di</strong> linea, inserire titolo, legenda,...operando <strong>di</strong>rettamente sul menu<br />

della finestra del grafico, o inserendo i coman<strong>di</strong> opportuni tramite la Command Window 1 .<br />

Si possono sovrascrivere grafici l’uno sull’altro utilizzando il comando hold on. Oppure si possono<br />

affiancare grafici me<strong>di</strong>ante il comando subplot. Lasciamo gli approfon<strong>di</strong>menti all’help on line.<br />

Per fare il grafico <strong>di</strong> una funzione, si possono seguire <strong>di</strong>verse strade.<br />

Se si ha a <strong>di</strong>sposizione la function (propria <strong>di</strong> MATLAB® o scritta su un file .m), si può costruire il vettore<br />

con il valore della funzione in un numero determinato <strong>di</strong> punti equi<strong>di</strong>stanti sull’intervallo in cui si desidera<br />

visualizzarla. A tal proposito è utile la function linspace che permette <strong>di</strong> <strong>di</strong>scretizzare un intervallo chiuso<br />

[a,b] in un prefissato numero <strong>di</strong> punti. Useremo allora le seguenti istruzioni:<br />

x=linspace ( 0 , 2 ) ;% <strong>di</strong>scretizziamo l ’ i n t e r v a l l o [ 0 , 2 ] in 100 parti<br />

% uguali<br />

% x=linspace (50 , 0 , 2 ) d i s c r e t i z z a l ’ i n t e r v a l l o in<br />

%50 parti uguali<br />

y=myfun( x ) ; % valuto la function myfun nel v e t t o r e x<br />

plot ( x , y )<br />

Questo approccio è comodo quando la funzione da visualizzare ha una espressione complicata o quando<br />

stiamo lavorando all’interno <strong>di</strong> uno script. La function myfun deve essere scritta in modo che sia possibile<br />

valutarla <strong>di</strong>rettamente su un vettore (che è quello che facciamo tramite l’istruzione y=myfun(x)). Le<br />

operazioni <strong>di</strong> moltiplicazione, <strong>di</strong>visione ed elevamento a potenza devono essere vettorizzate, facendo precendere<br />

il simbolo <strong>di</strong> moltiplicazione, <strong>di</strong>visione e elevamento a potenza dal simbolo del punto ( .*, ./,<br />

.ˆ ) permettendo, in tal modo, che le operazioni vengano fatte componente per componente del vettore. Le<br />

operazioni <strong>di</strong> somma e <strong>di</strong>fferenza sono vettorizzate per definizione.<br />

Ad esempio: la function myfun definita tramite le istruzioni<br />

1 Ci sarebbe tanto da <strong>di</strong>re a riguardo ma lasciamo che il lettore curioso approfon<strong>di</strong>sca l’argomento utilizzando l’help on line <strong>di</strong><br />

MATLAB® . In Octave, invece, le mo<strong>di</strong>fiche ai grafici non possono essere fatte usando la finestra del grafico.<br />

193

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!