Skip to content

Instantly share code, notes, and snippets.

@vxf
Last active April 13, 2016 16:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vxf/fa9ef8cfbd92d7c156213d96a869def4 to your computer and use it in GitHub Desktop.
Save vxf/fa9ef8cfbd92d7c156213d96a869def4 to your computer and use it in GitHub Desktop.
""" vxf
Funcoes uteis para estudar Probabilidades e Estatistica
Exemplos de uso:
S(0, 5, lambda i: Bin(n=7, p=(4/6), x=i))
"""
from math import factorial
from functools import reduce
def A(p, n):
"""Arranjos de n, p a p"""
return factorial(n) // factorial(n - p)
def Ar(p, n):
"""Arranjos de n, p a p, com repeticao"""
return p**n
def P(n):
"""Permutacoes de n"""
return factorial(n)
def Pr(*s):
"""Permutacoes de n com repeticao, deve receber o numero para cada classe ex: Pr(1,1,2,3)"""
return factorial(sum(s)) // reduce(lambda x, y: x*y, map(factorial, s))
def C(p, n):
"""Combinacoes de n, p a p"""
return Pr(p, n - p)
def S(s, n, f):
"""Somatorio de s ate n do termo f(i) uma funcao"""
return sum(map(f, range(s, n+1)))
def Bin(n, p, x):
"""Distribuicao binomial"""
return C(x, n)*(p**x)*((1-p)**(n-x))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment