Beispiel #1
0
def error(nro_intervalos, nro_test, umbral):
    fallos = 0
    for i in range(nro_test):
        s = modulo.error(nro_intervalos)
        error = abs(s - modulo.pi)
        if error >= umbral:
            fallos = fallos + 1
    return ((fallos / nro_test) * 100)
Beispiel #2
0
def error(nro_intervalos,nro_test,umbral):
  fallos=0
  for i in range (nro_test):
    s=modulo.error(nro_intervalos)
    error=abs(s-modulo.pi)
    if error>=umbral:
      fallos=fallos+1
  return ((fallos/nro_test)*100)
Beispiel #3
0
    aproximaciones = int (argumentos[1])
    umbral = []
    for i in range (2,7):
      umbral.append(float (argumentos[i]))
    nombre_fichero = argumentos[7]  
else:
    print"Introduzca el nº de intervalos (n>0): "
    n = int (raw_input());
    print "Introduzca el numero de aproximaciones: "
    aproximaciones = int (raw_input());
    print"Introduzca 5 umbrales de aproximaciones"
    umbral = []
    for i in range(5):
      print"Introduzca el umbral", i, ":"
      umbral.append(float (raw_input()));
    print "Introduzca el nombre del fichero para almacenar los resultados: "
    nombre_fichero = raw_input();
    
if (n>0):
  # Una forma para averiguar si un fichero existe o no puede ser esta
    try:
      fichero = open (nombre_fichero, "a")
    except:
      fichero = open (nombre_fichero, "w")
    fichero.write ("Nº de intervalos: %d\n" % (aproximaciones))
    for i in range (5):
      porcentaje = modulo.error (n, aproximaciones, umbral[i])
      fichero.write ("%2.2f%% de fallos para el umbral %2.5f\n" % (porcentaje, umbral[i]))
    fichero.close ()  
else:
    print "El valor de los intervalos debe ser mayor que 0"
Beispiel #4
0
#!ecoding: UTF-8

import modulo
import time

nro_test=10
intervalos=[10, 50, 100, 150, 500, 550, 1000, 10000, 100000]
umbral=[1e-3, 1e-4, 1e-5, 1e-6, 1e-7]
nombre = "prac12.txt"

#Abrimos el archivo y escribimos, como cabecera, el orden en el que almacenaremos los datos.

f=open(nombre, 'w')
f.write ('Intervalos,  Valor aproximado,  Porcetaje de fallos, Tiempo CPU \n ')
f.write('============================ \n')
# Vamos a 
for n in intervalos:
  p=[]
  p=p+[n]                                                 
  a=modulo.aproximacion(n)
  p=p+[a]                                                
  ci=time.clock()
  for e in umbral:                                       
    e=modulo.error(n, nro_test, e)
    p=p+[e]                                               
  cf=time.clock()                                       
  tp=cf-ci
  p=p+[tp]                                                
  f.write(str(p))                                         
  f.write("\n")
f.close()
Beispiel #5
0
    umbral.append(float(raw_input()))
  print"Introduzca el nombre del fichero para almacenar los resultados"
  nombre_fich= raw_input()

if (n>0):
  
  
 # Una forma de averiguar si un fichero existe o no puede ser esta
 # debemos de incluir el paquete os.path
 # if os.path.isfile(nombre_fich):
 # fichero=open(nombre_fich,"a")
 # else:
 # fichero=open(nombre_fich,"w")
 # Otra forma puede ser mediante excepciones, como vemos a continuacion:
 
  try:
    fichero=open(nombre_fich,"a")
  except:
    fichero=open(nombre_fich,"w")
  fichero.write("Nº de intervalos: %d\n" %(aprox))
  for i in range (5):
    start=time.time()
    modulo.error(n,aprox,umbral[i])
    finish=time.time()-start
    t1=timeit.Timer("modulo.error(n,aprox,umbral)","from __main__ import modulo; n=%d;aprox=%d;umbral=%f" % (n,aprox,umbral[i]))
#    print t1.timeit(10)
    fichero.write("%2.10f\n" % (finish))
  fichero.close()
else:
  print "El valor de los intervalos debe ser mayor que 0"
Beispiel #6
0
  umbral=[]
  for i in range (2,7):
    umbral.append(float(argumentos[i]))
  nombre_fich=argumentos[7]
else:
  print "Introduzca el número de intervalos (n>0): "
  n=int(raw_input())
  print "Introduzca el número de aproximaciones: "
  aprox=int(raw_input())
  print "Introduzca 5 umbrales de error: "
  umbral=[]
  for i in range (5):
    print "Introduzca el umbral",i, ":"
    umbral.append(float(raw_input()))
  print "Introduzca el nombre del fichero para almacenar los resultados: "
  nombre_fich=raw_input()
if (n>0):
  try:
    fichero=open(nombre_fich, "a")
  except:
    fichero=open(nombre_fich, "w")
  fichero.write("Nº de intervalos: %d\n" % (aprox))
  for i in range(5):
    porcentaje=modulo.error(n, aprox, umbral[i])
    fichero.write("%2.2f%% de fallos para el umbral %2.5f\n" % (porcentaje,umbral[i]))
  fichero.close()

  
  
  
 
Beispiel #7
0
#!/src/bin/python
#!ecoding: UTF-8

import matplotlib.pylab as pl
import modulo
import time

nro_test=100
intervalos=[10, 50, 100, 150, 500, 550, 1000]
umbral=[1e-3, 1e-4, 1e-5, 1e-6, 1e-7]

p=[]
for n in intervalos:                           
  ci=time.clock()                                 
  e=modulo.error(n, nro_test, 1e-7)                                        
  cf=time.clock()                                       
  tp=cf-ci
  p=p+[tp]                                                
  
pl.figure(figsize=(10,10),dpi=80)


pl.plot(intervalos,p, 'r')
pl.subplot(2,1,1)
pl.xticks([10, 50, 100, 150, 500, 550, 1000])

pl.title('Tiempo respecto a los intervalos')
pl.xlabel('Intervalos')
pl.ylabel('Tiempo')
pl.legend(['10'])
pl.xlim(-10,1100)
Beispiel #8
0
#!/src/bin/python
import modulo
import time

nro_test = 10
intervalos = [10, 50, 100, 150, 500, 550, 1000]
umbral = [1e-3, 1e-4, 1e-5, 1e-6, 1e-7]
nombre = "prct12_b.txt"

f = open(nombre, 'w')
f.write('Intervalos, Valor aproximado, Porcetaje de fallos, Tiempo CPU \n ')
f.write('============================ \n')

for n in intervalos:
    p = []
    p = p + [n]
    a = modulo.aproximacion(n)
    p = p + [a]
    ci = time.clock()
    for e in umbral:
        e = modulo.error(n, nro_test, e)
        p = p + [e]
    cf = time.clock()
    tp = cf - ci
    p = p + [tp]
    f.write(str(p))
    f.write("\n")
f.close()
Beispiel #9
0
    aproximaciones = int(argumentos[1])
    umbral = []
    for i in range(2, 7):
        umbral.append(float(argumentos[i]))
    nombre_fichero = argumentos[7]
else:
    print "Introduzca el nº de intervalos (n>0):"
    n = int(raw_input())
    print "Introduzca el nº de aproximaciones:"
    aproximaciones = int(raw_input())
    print "Introduzca 5 umbrales de error:"
    umbral = []
    for i in range(5):
        print "Introduzca el umbral", i, ":"
        umbral.append(float(raw_input()))
    print "Introduzca el nombre del fichero para almacenar los resultados:"
    nombre_fichero = raw_input()
if (n > 0):
    try:
        fichero = open(nombre_fichero, "a")
    except:
        fichero = open(nombre_fichero, "w")
    fichero.write("Nº de tiempos: %d\n" % (aproximaciones))
    for i in range(5):
        start = time.time()
        porcentaje = modulo.error(n, aproximaciones, umbral[i])
        finish = time.time() - start
        fichero.write("%2.10f\n" % (finish))
    fichero.close()
else:
    print "El valor de los intervalos debe ser mayor que 0"
Beispiel #10
0
  for i in range (2,7):
    umbral.append(float (argumentos[i]))
  nombre_fichero = argumento [7]
else:
  print "Introduzca el nº de intervalos (n>0):"
  n = int (raw_input())
  print "Introduzca el nº de aproximaciones (aproximaciones>0):"
  aproximaciones = int(raw_input())
  print "Introduce 5 umbrales"
  umbral = []
  for i in range (5):
    print "Introduzca el umbral", i,":"
    umbral.append(float(raw_input()))
  print "Introduzca el nombre del fichero para almacenar los resultados:"
  nombre_fichero = raw_input()
if (n > 0):
  try:
    fichero = open (nombre_fichero, "a")      # Intenta abrir el fichero  de  nombre_fichero y si no esta creado lo crea con la linea de except
  except:
    fichero = open (nombre_fichero, "w")
  fichero.write ("Nº de intervalos: %d\n"%(aproximaciones))    # Escribe en el fichero el numero de intervalos
  for i in range (5):
    start=time.time()
    modulo.error (n,aproximaciones,umbral[i])
    finish=time.time()-start
    t1=timeit.Timer("modulo.error(n,aproximaciones,umbral)",setup="from__main__import modulo; n=%d; aproximaciones=%d;umbral=%f" % (n,aproximaciones,umbral[i]))
    print t1.timeit(10)
    fichero.write("Con el umbral [%d] tarda: %2.10f\n" % (i,finish))
    fichero.close()    # cierra fichero
else:
  print "EL valor de los intervalos debe ser mayor que 0"
Beispiel #11
0
    aproximaciones = int(raw_input())
    print "Introduce 5 umbrales"
    umbral = []
    for i in range(5):
        print "Introduzca el umbral", i, ":"
        umbral.append(float(raw_input()))
    print "Introduzca el nombre del fichero para almacenar los resultados:"
    nombre_fichero = raw_input()
if (n > 0):
    try:
        fichero = open(
            nombre_fichero, "a"
        )  # Intenta abrir el fichero  de  nombre_fichero y si no esta creado lo crea con la linea de except
    except:
        fichero = open(nombre_fichero, "w")
    fichero.write(
        "Nº de intervalos: %d\n" %
        (aproximaciones))  # Escribe en el fichero el numero de intervalos
    for i in range(5):
        start = time.time()
        modulo.error(n, aproximaciones, umbral[i])
        finish = time.time() - start
        t1 = timeit.Timer(
            "modulo.error(n,aproximaciones,umbral)",
            setup="from__main__import modulo; n=%d; aproximaciones=%d;umbral=%f"
            % (n, aproximaciones, umbral[i]))
        print t1.timeit(10)
        fichero.write("Con el umbral [%d] tarda: %2.10f\n" % (i, finish))
        fichero.close()  # cierra fichero
else:
    print "EL valor de los intervalos debe ser mayor que 0"
Beispiel #12
0
y=[]
m=[]
e=[]
nro_test=20
umbral=0.0000001


if __name__=="__main__":
   import sys
   f=open("tiempo y errores", 'w')
#print "Introduzca el nombre del fichero para almacenar los resultados:"
#nombre_fichero= raw_input();
   
   for i in x: 
      start=time.time()
      pe=modulo.error(i,nro_test,umbral)
      finish=time.time()-start
      print "El porcentaje de error es de: %5.3f" %pe
      print "El tiempo que tarda en realizarse es: %14.13f" %finish
      y=y+[finish]
      e=e+[pe]
      f.write(str(finish) + '\n')
      f.write(str(pe) + '\n')
   f.close()
   
   print y
   

   
   
 #  graf1= pl.subplot(211)
Beispiel #13
0
#!/src/bin/python

import modulo
import time
import matplotlib.pylab as pl


nro_test=10
intervalos=[10, 50, 100, 150, 500, 550, 1000]
umbral=[1e-3, 1e-4, 1e-5, 1e-6, 1e-7]


p=[]
for n in intervalos:
  ci=time.clock()
  e=modulo.error(n, nro_test, 1e-4)
  cf=time.clock() 
  tp=cf-ci
  p=p+[tp] 
 

pl.figure(figsize=(10,10), dpi=80)
pl.subplot(2,1,1)
pl.plot(intervalos,p, color="red", linewidth=2.5, linestyle="-")
pl.xticks([10, 50, 100, 150, 500, 1000])
pl.title(r'Tiempo')
pl.xlabel('Intervalos')
pl.ylabel('Tiempo en segundos')
pl.xlim(-10, 1100)
pl.ylim(-0.001, 0.14)
pl.savefig("prct13.eps", dpi=72)