Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy
- import pylab
- from numpy.polynomial import polyfit
- data = numpy.loadtxt('data_fitting.dat')
- t = data[:,0]
- v = data[:,1]
- s = data[:,2]
- poly = numpy.polyfit(t,v,3)
- gA = numpy.arange(-1,1,0.1)
- gB = numpy.arange(0,2,0.1)
- gC = numpy.arange(1,2,0.1)
- gD = numpy.arange(-1,1,0.1)
- minchi = 1e20
- for w in range(0,gA.size):
- for x in range(0,gB.size):
- for y in range(0,gC.size):
- for z in range(0,gD.size):
- f = gA[w] + t*gB[x] + t*gC[y]**2 + t*gD[z]**3
- chi = numpy.sum((v-f)**2/s**2)
- if chi < minchi:
- bA = gA[w]
- bB = gB[x]
- bC = gC[y]
- bD = gD[z]
- minchi = chi
- f = bA + t*bB + t*bC**2 + t*bD**3
- pylab.figure(1)
- pylab.plot(t,f)
- pylab.errorbar(t,v,yerr=s,ls='none')
- pylab.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement