simulace Irvine-Michigan-Brookhaven experimentu¶

In [2]:
import numpy as np
import matplotlib.pyplot as plt
from math import factorial

funkce počítající pravděpodobnost podle Poissonova rozdělení

In [3]:
def poiss(k,nu):
    return(nu**k/factorial(k)*np.exp(-nu))

vektorizace funkce poiss (aby mohla pracovat s polem)

In [4]:
vpoiss=np.vectorize(poiss)

simulace dat z poissonova rozdělení

In [5]:
nu = 0.777 #očekávaná hodnota
N = 2306 #počet dat
data = np.random.poisson(nu,N)

vytvoření a nakreslení histogramu

In [6]:
k=np.arange(0,9,1) #biny pro histogram
plt.hist(data,bins=k,label='data')
plt.step(k+1,N*vpoiss(k,nu),c='red', label='Poisson prediction')
plt.plot([0,1],[N*vpoiss(0,nu),N*vpoiss(0,nu)],c='red')
plt.xlim(0,8)
plt.xlabel('počet detekovaných neutrin') 
plt.ylabel('počet intervalů') 
plt.legend()
plt.show()
No description has been provided for this image
In [7]:
np.histogram(data,bins=k)
Out[7]:
(array([1087,  803,  320,   80,   14,    2,    0,    0]),
 array([0, 1, 2, 3, 4, 5, 6, 7, 8]))