Advertisement
gronke

Untitled

Jul 23rd, 2012
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import numpy
  2. import pylab
  3. from numpy.polynomial import polyfit
  4.  
  5. data = numpy.loadtxt('data_fitting.dat')
  6. t = data[:,0]
  7. v = data[:,1]
  8. s = data[:,2]
  9.  
  10. poly = numpy.polyfit(t,v,3)
  11.  
  12. gA = numpy.arange(-1,1,0.1)
  13. gB = numpy.arange(0,2,0.1)
  14. gC = numpy.arange(1,2,0.1)
  15. gD = numpy.arange(-1,1,0.1)
  16.  
  17. minchi = 1e20
  18.  
  19. for w in range(0,gA.size)
  20.     for x in range(0,gB.size):
  21.         for y in range(0,gC.size):
  22.             for z in range(0,gD.size):
  23.                 f = gA[w] + t*gB[x] + t*gC[y]**2 + t*gD[z]**3
  24.                 chi = numpy.sum((v-f)**2/s**2)
  25.                 if chi < minchi:
  26.                     bA = gA[w]
  27.                     bB = gB[x]
  28.                     bC = gC[y]
  29.                     bD = gD[z]
  30.                     minchi = chi
  31.  
  32. f = bA + t*bB + t*bC**2 + t*bD**3
  33.  
  34. pylab.figure(1)
  35. pylab.plot(t,f)
  36. pylab.errorbar(t,v,yerr=s,ls='none')
  37. pylab.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement