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()
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]))