Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/12/2008, 17:02
huevofritopamojarpan
 
Fecha de Ingreso: diciembre-2008
Mensajes: 9
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema con mínimos cuadrados y librerías para cálculo

Ouch! Cómo dije antes, era mi primer mensaje, jeje.

Bueno, ahí va:

Código python:
Ver original
  1. i=0
  2. n=0
  3. while n<3:
  4.     n = int(raw_input("\n\nCuantos puntos tiene la funcion a lineaizar: "))
  5.  
  6. horizontal=vertical=range(n)
  7. while (i<n):
  8.     print "\n"
  9.     horizontal[i]=float(raw_input("x["+str(i)+"]="))
  10.     print horizontal[i]
  11.     vertical[i]=float(raw_input("y["+str(i)+"]="))
  12.     print vertical[i]
  13.     i=i+1
  14.  
  15. print "\n"
  16. i=0
  17. while (i<n):
  18.     print horizontal[i], vertical[i], "\n"
  19.     i = i + 1
  20.  
  21. i=0
  22. SUMx=SUMy=SUMxy=SUMxx=a=b=0.0
  23.  
  24. while (i<n):
  25.     print SUMx, SUMy, SUMxy, SUMxy, "\n"
  26.     SUMx = SUMx + horizontal[i]
  27.     SUMy = SUMy + vertical[i]
  28.     SUMxy = SUMxy + (horizontal[i]*vertical[i])
  29.     SUMxx = SUMxx + (horizontal[i]*horizontal[i])
  30.     i = i + 1
  31.  
  32. print SUMx, SUMy, SUMxy, SUMxy, "\n"
  33. a = ( (SUMx*SUMy) - (n*SUMxy) ) / ( (SUMx*SUMx) - (n*SUMxx) )
  34. b = ( SUMy - (a*SUMx) ) / n
  35.  
  36. print a,"x",
  37. if b>=0:
  38.     print "+",
  39. print b