Erste Seite Zurück Weiter Letzte Seite Übersicht Bilder

Binomial ↔ Poisson ↔ Gauss - Verteilungen

import numpy as np, matplotlib.pyplot as plt, scipy.special as sp

def fGauss(x,mu=0.,sigma=1.): # Gauss distribution

return (np.exp(-(x-mu)**2/2/sigma**2)/np.sqrt(2*np.pi)/sigma)

def fPoisson(x,mu): # Poisson distribution

k=np.around(x)

return (mu**k)/np.exp(mu)/sp.gamma(k+1.)

def fBinomial(x,n,p): # Binomial distribution

k=np.around(x)

return sp.binom(n,k) *p**k *(1.-p)**(n-k)

#--------------------------------------------------------------

# plot basic distributions

mu, sig = 50., np.sqrt(mu)

x = np.arange(20, 80., 0.1)

plt.plot(x, fGauss(x,mu,sig), 'r-')

plt.plot(x, fPoisson(x,mu), 'b-')

p, n = 0.1, mu/p

plt.plot(x, fBinomial(x,n,p), 'g-')

# ( … ) # produce nice text

plt.show()

← einige spezielle Funktionen in scipy.special [ n! = gamma(n+1) ]

basicDistributions.py