Gnuplot/Modalità: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Tux3 (discussione | contributi)
m Nuova pagina: Gnuplot può funzionare in due diverse modalità. La prima è quella '''interattiva''' : in questa modalità si digitano i comandi in sequenza, uno dopo l'altro e si può osservarne p...
(Nessuna differenza)

Versione delle 23:47, 3 ott 2009

Gnuplot può funzionare in due diverse modalità.

La prima è quella interattiva : in questa modalità si digitano i comandi in sequenza, uno dopo l'altro e si può osservarne passo passo l'effetto.

Le modalità interattiva è utile quando si devono fare delle prove o realizzare un singolo grafico su cui non si hanno ancora le idee chiare. Così facendo si possono osservare di volta in volta gli effetti dei cambiamenti fino a ottenere il risultato desiderato.

La seconda è quella batch, in cui i comandi desiderati vengono scritti in un file di testo che verrà poi eseguito come uno script.

La seconda invece torna comodo quando si hanno le idee ben chiare e si deve realizzare una serie di grafici con le stesse impostazioni: un unico script eseguito più volte genererà tutte le illustrazioni desiderate.

Modalità Interattiva

E' sufficiente lanciare il programma per avviare una sezione interattiva e trovarsi di fronte al terminale di gnuplot:

$ gnuplot

       G N U P L O T
       Version 4.2 patchlevel 2
       last modified 31 Aug 2007
       System: Linux 2.6.17-gentoo-r4

       Copyright (C) 1986 - 1993, 1998, 2004, 2007
       Thomas Williams, Colin Kelley and many others

       Type `help` to access the on-line reference manual.
       The gnuplot FAQ is available from http://www.gnuplot.info/faq/

       Send bug reports and suggestions to <http://sourceforge.net/projects/gnuplot>


Terminal type set to 'x11'
gnuplot> 

A questo punto possiamo digitare una serie di comandi che andranno a definire i dati da disegnare e il loro aspetto grafico (spessore, colore, range... ).

Il primo problema che sorge è quindi quello di capire come definire quello che voglio raffigurare.

Funzioni

Gnuplot fornisce una vasta serie di funzioni standard che coprono tutte le funzioni matematiche più comuni. Esse necessitano un argomento, che solitamente è la variabile indipendente x che rappresenta l'asse delle ascisse. Le funzioni di Gnuplot sono descritte più avanti in Gnuplot/Appendice funzioni.

Definizione di funzioni

Sebbene Gnuplot non sia un programma di elaborazione numerica, esso mette a disposizione dell'utente gli strume nti necessari per effettuare le operazioni più comuni.

+ somma
- sottrazione
* moltiplicazione
/ divisione
% resto della divisione intera
** elevamento a potenza
= assegnamento

E' ovviamente possibile utilizzare le parentesi tonde '(', ')' per precisare la precedenza delle operazioni.

Questi operatori possono essere in combinazione con le funzioni viste precedentemente per definirne di nuove.

gnuplot> <nome_funzione>(<variabili>)=<corpo_della_funzione>

Per esempio:

gnuplot> retta(x)=2*x+3
gnuplot> parabola(x)=(x**2)+(3*x)-2
gnuplot> periodica(x)=cos(2*x)+sin(x)
gnuplot> smorzata(x)=sin(10*x)*exp(-x)
gnuplot> piano(x,y)=2*x-5
gnuplot> paraboloide(x,y)=((x/3)**2-(y/5)**2)/2

definiscono nell'ordine una retta, una parabola, una generica funzione periodica, uno smorzamento esponenziale, un piano e un paraboloide ellittico.

Queste funzioni potranno poi essere visualizzate tramite il comando plot o splot, quest'ultimo nel caso della funzioni a due variabili, seguito dal nome della funzione. Oppure, come negli esempi riportati, si potrà dare il comando seguito semplicemnte dal corpo della definizione. Con riferimento agli esempi revedenti i comandi:

gnuplot> retta(x)=2*x+3
gnuplot> plot retta(x)

e

gnuplot> plot 2*x+3

sortiscono lo stesso risultato

Le funzioni possono essere anche definite parametricamente tramite l'utilizzo di variabili. Possiamo per esempio definire una funzione sinusoidale di periodo arbitrario nel seguente modo:

gnuplot> periodicsin(x)=sin(k*x)

E' da sottolineare il fatto che la variabile k non è stata definita precedentemente e che è alla sua prima apparizione. Potremo successivamente assegnarvi diversi valori ottenendo sinusoidi che differiscono per l'ampiezza del periodo. L'assegnamento della variabile viene fatto per mezzo dell'operatore = così come per le funzioni.

gnuplot> k=2

Comandi shell

Gnuplot consente di eseguire comandi shell, cosa molto utile che evita di dover uscire da una sessione, eseguire il comando e poi rientrare. Qualunque comando sia preceduto da un ! verrà interpretato come un comando della shell ed eseguito come tale. per esempio la sequenza di comandi:

gnuplot> !mkdir far
!
gnuplot> !ls -al far
totale 0
drwxr-xr-x 1 al users  2  5 nov 18:07 .
drwxr-xr-x 1 al users 25  5 nov 18:07 ..
!
gnuplot> !touch far/locco
!
gnuplot> !ls -al far
totale 0
drwxr-xr-x 1 al users  3  5 nov 18:07 .
drwxr-xr-x 1 al users 25  5 nov 18:07 ..
-rw-r--r-- 1 al users  0  5 nov 18:07 locco
!
gnuplot>

creea la cartella far, ne visualizza il contenuto, vi crea all'interno il file locco e infine visualizza di nuovo il contenuto.

La possibilità di eseguire comandi shell risulta molto utile se si deve interagire con altri programmi nel corso delle elaborazioni, per esempio per acquisire o manipolare file contenente dati, oppure per compiere successive modifiche alle immagini che abbiamo creato con ulteriori applicativi.

Modalità Batch

Come annunciato la seconda modalità è quella destinata all'editing ed esecuzione di script che facilitino l'automazione delle operazioni.

Il linguaggio utilizzato è lo stesso utilizzato nelle sessioni interattive.