Gnuplot/Funzioni

Wikibooks, manuali e libri di testo liberi.

Funzioni[modifica]

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[modifica]

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

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

È 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 precedenti 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)

È 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