Example #1
0
def estimacion(numero_de_agujas, numero_de_intentos):
    estimados = []
    for _ in range(numero_de_intentos):
        estimacion_pi  = aventar_agujas(numero_de_agujas)
        estimados.append(estimacion_pi)
    
    media_estimados  = media(estimados)
    sigma = desviacion_estandar(estimados)
    print(f"Est={round(media_estimados,5)}, sigma={round(sigma,5)}, agujas={numero_de_agujas}")
    
    return (media_estimados,sigma)
Example #2
0
def estimacion(numero_agujas, numero_de_intentos):
    estimados = []

    for _ in range(numero_de_intentos):
        estimacion_pi = aventar_agujas(numero_agujas)
        estimados.append(estimacion_pi)

    media_estimados = media(estimados)
    sigma = desviacion_estandar(estimados)
    print(media_estimados, sigma)

    return (media_estimados, sigma)
Example #3
0
def estimacion(numero_de_agujas,numero_intentos):
    estimados = []

    for _ in range(numero_intentos):
        estimacion_pi = lanzar_agujas(numero_de_agujas)
        estimados.append(estimacion_pi)

    media_estimados = media(estimados)
    sigma = desviacion_estandar(estimados)
    print(f'Est={round(media_estimados,5)} sigma={round(sigma,5)} Agujas lanzadas = {numero_de_agujas}')

    return (media,sigma)
def estimacion(numero_de_agujas, numero_de_intentos):
    estimados = []

    for _ in range(numero_de_intentos):
        estimacion_pi = aventar_agujas(numero_de_agujas)
        estimados.append(estimacion_pi)

    media_estimados = media(estimados)
    sigma = desvest(estimados)
    print(
        f'Estimación = {round(media_estimados, 5)}, sigma = {round(sigma, 5)}')

    return (media_estimados, sigma)
Example #5
0
def main(numero_de_tiros, numero_de_intentos):
    tiros = []
    estimados=[]
    for _ in range(numero_de_intentos):
        secuencia_de_tiros = tirar_dado(numero_de_tiros)
        med_d=media(secuencia_de_tiros)
        estimados.append(med_d)
        tiros.append(secuencia_de_tiros)
    
    counter = dict(collections.Counter(estimados))
    x=list(counter.keys())
    y=list(counter.values())

    graficar(x,y)
Example #6
0
def main(cantidad_simulaciones, cantidad_tiros):
    resultados_simulaciones = []
    media_tiros = []
    sigmas = []
    # distribucion_normal_tiro=[]

    for _ in range(cantidad_simulaciones):
        tiros = tiros_dado(cantidad_tiros)
        resultados_simulaciones.append(tiros)

        media_tiro = media(tiros)
        sigma = desviacion_estandar(tiros)
        media_tiros.append(media_tiro)
        sigmas.append(sigma)
        # distribucion_tiros = distribucion_normal(tiros,media_tiro,sigma)
        # distribucion_normal_tiro.append(distribucion_tiros)

    counter = dict(collections.Counter(media_tiros))
    # print(counter)
    x = list(counter.keys())
    y = list(counter.values())

    grafica(x, y, media_tiros)

    tiros_de_doce = 0
    for numero in resultados_simulaciones:
        if 12 in numero:
            tiros_de_doce += 1

    tiros_de_cinco = 0
    for numero in resultados_simulaciones:
        if 5 in numero:
            tiros_de_cinco += 1

    # print(resultados_simulaciones)
    probabilidad_del_cinco = tiros_de_cinco / cantidad_tiros
    probabilidad_del_doce = (tiros_de_doce / cantidad_tiros)

    print(
        f'La probabilidad de que aparezca un 5 en {cantidad_tiros} tiros es de {probabilidad_del_cinco}'
    )
    print("___" * 20)
    print(
        f'La probabilidad de que aparezca un 12 en {cantidad_tiros} tiros es de {probabilidad_del_doce}'
    )
    print("___" * 20)
    print(
        f'Media = {media(media_tiros)} con una desviación estándar de {media(sigmas)}'
    )
Example #7
0
def estimacion(
        numero_de_agujas,
        numero_de_intentos):  #cuantas veces se van a correr la simulación
    estimados = []  #variable de todas las estimacion de pi
    for _ in range(numero_de_intentos):  #for loop, que corre # de intentos
        estimacion_pi = aventar_agujas(numero_de_agujas)
        estimados.append(estimacion_pi)

    media_estimados = media(estimados)
    sigma = desviacion_estandar(estimados)
    print(
        f'Est={round(media_estimados, 5)}, sigma={round(sigma, 5)}, agujas={numero_de_agujas}'
    )

    return (media_estimados, sigma)  #Regresa una tubla
Example #8
0
def grafica(x, y, media_tiros):

    plot = figure(title='media dado',
                  x_axis_label='Númeors',
                  y_axis_label='Valores')
    plot.vbar(x, top=y, width=0.5, color="#46f2d3")

    x_media = media(media_tiros)
    y_media = [min(media_tiros), max(media_tiros)]
    plot.line(x_media, y_media, color='red', legend='media', line_width=3)

    # plot.line(x,distribucion_normal,color="green",title='distribución normal')

    output_file("Media.html")

    show(plot)
Example #9
0
def estimacion(numero_de_agujas, numero_de_intentos):
    estimados = []
    for _ in range(numero_de_intentos):
        estimacion_pi = lanzar_agujas(numero_de_agujas)
        estimados.append(estimacion_pi)
        # aqui lo que estamos calculando pi muchas veces para poder estimar la media

    media_estimados = media(estimados)
    sigma_estimados = desviacion_estandar(estimados)

    #print(media_estimados, varianza_estimados,sigma_estimados)

    print(
        f'Estimacion PI: {round(media_estimados, 5)}, sigma: { round(sigma_estimados, 5)}, agujas: {numero_de_agujas}'
    )
    # en este punto vamos a usar la regla empirica para determinar ue tenemos un 95% por ciento de confianza
    # ese valor lo encontramos a 1.96 desviaciones estandar
    return (media_estimados, sigma_estimados)
        pi_array.append(pivalor)
    return (pi_array, in_circle_x, in_circle_y, out_circle_x, out_circle_y)


deviation = 1  # Valor inicial para poder empezar el ciclo while
presicion = 0.1  # Precision en cifras significativas para determinar el
# valor estimado de pi (CUIDADO!!!!)

iteration = 1

while deviation >= (presicion / 1.96):
    pi_array, in_circle_x, in_circle_y, out_circle_x, out_circle_y = crear_muestra(
        tries)
    deviation = std.desviacion_estandar(pi_array)
    variance = std.varianza(pi_array)
    mean = std.media(pi_array)

    print(
        f'------------------       Iteracion number: {(iteration)}      ------------------'
    )
    print(
        f'Standard deviation: {round(deviation,5)}, Variance : {round(variance,5)}, pi estimated: {round(mean,5)}'
    )
    print(f'Numero de intentos {tries}, Numero de puntos {puntos}\n\n')
    #print(f)
    puntos *= 10
    tries *= 10
    iteration += 1

output_file("line.html")
plot = figure(plot_width=600, plot_height=600)