Last active
April 13, 2016 16:43
-
-
Save vxf/fa9ef8cfbd92d7c156213d96a869def4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" 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