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 ...
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