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)
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)
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)
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)
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)}' )
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
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)
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)