Gnuplot istogrammi e gaussiana
Supponiamo di aver ottenuto le misure riportate in tabella:
Per evitare dubbi nell’assegnare le misure estreme al giusto intervallo, decido di partire, nella definizione degli intervalli, da 2,255 cm e arrivare a 2,705 cm. Per le misure che si trovano esattamente sul confine tra due intervalli adiacenti, assegno per convenzione 0,5 conteggi da un lato e 0,5 dall’altro. Decido di suddividere i dati in 10 intervalli. La larghezza Δ degli intervalli risulta allora essere (2,255 cm-2,705 cm)/10=0,045 cm.
inf. (cm)
sup. (cm)
numero misure
frequenza relativa
Δ (cm)
h (cm-1)
int. 1
2,255
2,300
2
0,0141
0,045
0,31
int. 2
2,300
2,345
1
0,0070
0,045
0,16
int. 3
2,345
2,390
1,5
0,0106
0,045
0,23
int. 4
2,390
2,435
10
0,0704
0,045
1,56
int. 5
2,435
2,480
17
0,1197
0,045
2,66
int. 6
2,480
2,525
17,5
0,1232
0,045
2,74
int. 7
2,525
2,570
40,5
0,2852
0,045
6,34
int. 8
2,570
2,615
23
0,1620
0,045
3,60
int. 9
2,615
2,660
14
0,0986
0,045
2,19
int. 10
2,660
2,705
15,5
0,1092
0,045
2,43
142
Per prima cosa riportiamo in grafico la gaussiana con gnuplot. Seguiamo le istruzioni alla pagina: http://www.unisi.it/fisica/dip/dida/ambnatgeoif/ tutorial_istogrammi/index.htm Copiamo e incolliamo l’espressione della g(x) sul terminale:
Quindi dichiariamo il valore medio e la deviazione standard, facendo riferimento ai valori ottenuti a partire dalle nostre misure: gnuplot> gnuplot> gnuplot> gnuplot> gnuplot> gnuplot> gnuplot>
set xlabel "L (cm)" set ylabel "pdf (cm^-1)" g(x)=(1/(sqrt(2*pi)*s))*exp(-(x-m)**2/(2*s**2)) media m=2.54 stand. dev. s=0.09 set grid plot [2.2:2.9] g(x)
Passiamo agli istogrammi. Sempre con riferimento al tutorial prepariamoci a scrivere una linea di comando piuttosto lunga. Magari prima di copiarla nel terminale di gnuplot può essere una buona idea quella di scriverla su un editor di testo (blocco notes), l’importante e non andare mai a capo e continuare a scrivere anche se l’editor spezza la riga nella visualizzazione:
Rivediamo da vicino la sintassi: • “i(x) =“ dichiara il nome della funzione • gli intervalli sono divisi da “:” • le condizioni che delimitano gli intervalli, se sono più di una, devono essere separate da “&&” • il punto interrogativo “?” precede il valore dell’altezza associata a quell’intervallo • la prima condizione “x<2.255 ? 0 “ annulla l’istogramma per valori inferiori a quelli che ci interessano • la penultima condizione “x>2.705 ? 0” riporta a zero l’istogramma alla fine della regione che ci interessa • “1/0”, essendo una scrittura impossibile dal punto di vista matematico, ha come effetto quello di interrompere il plot
incolliamo nella finestra del terminale di gnuplot la nostra linea di comando ed eseguiamo il grafico di gaussiana e istogramma insieme:
gnuplot> i(x) = x<2.255 ? 0 : 2.2552.705 ? 0 : 1/0 gnuplot> plot [2.2:2.9] g(x), i(x)
con la virgola separo le funzioni che voglio visualizzare nello stesso grafico
Ed ecco il risultato: