Coefficients binomiaux, loi binomiale
#!/usr/bin/python # -*- coding: utf-8 -*- def coef_bin(k,n): if (k==n)or(k==0): return 1 elif (k==1)or(k==n-1): return n else: C=1.0 for i in range(k): C*=(n-i)/(k-i) return C def binom(k,n,p): q=1-p if (p==0.0)or(q==0.0): return 0.0 elif k==0: return q**n elif k==n: return p**n elif k==1: return n*p*q**(n-1) elif k==n-1: return n*q*p**(n-1) else: P=q**(n-2*k) for i in range(k): P*=p*q*(n-i)/(k-i) return P def binom_cumul(k,n,p): P=0.0 if k<=(n//2): for i in range(k+1): P+=binom(i,n,p) else: for i in range(k+1,n+1): P+=binom(i,n,p) P=1-P return P