Laboratorio di Calcolo B
Dario Barberis , Paolo Morettini, Fabrizio Parodi, Enrico Robutti


Introduzione

Generazione di numeri casuali

Esercizio 1
Esercizio 2

Nota: utilizzate la rappresentazione con istogrammi per la visualizzazione di tutte le distribuzioni che intervengono nell'esercitazione.

Esercizio 1
Utilizzare la funzione random() (che ritorna numeri interi casuali (aleatori) tra 0 e RAND_MAX ) per generare numeri distribuiti uniformemente nell'intervallo [0,1]. Generalizzare a l'intervallo [xmin,xmax]. Visualizzare la distribuzione dei valori generati.
Provate ad inizializzare la sequenza con un numero fisso o con la data.

Esercizio 2
Simulare N esperimenti composti da n ripetizioni di una prova con probabilità di successo p: 0< p< 1 (lancio di una moneta, tavolo binario, etc..).
Confrontare la distribuzione del numero di successi k (0<= k<= n) con la distribuzione teorica (binomiale)

coefficiente binomiale per p alla k per (1-p) alla n-k

Strutturare il programma utilizzando le seguenti funzioni Quindi confrontate (sovrapponendoli) (Facoltativo ma necessario per Laboratorio di Fisica: siete invitati ad impostarlo se avete tempo)
Impostate il calcolo del χ2 per entrambi i casi

Somma per i da 1 a nbin di Ni(sim)-Ni(teo) al quadrato su Ni(teo)


e valutatene la probabilità (probabilità di ottenere un accordo peggiore) utilizzando la funzione di root
   double TMath::Prob(double chi2, int ndof);
(dove ndof è il numero di gradi di libertà: maggior dettagli a Lab di Fisica 1B).
Ricordate che il χ2 deve essere calcolato raggruppando i bin teorici (e sperimentali di conseguenza) con meno di 5 eventi.