Guest User

Untitled

a guest
Jan 23rd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.92 KB | None | 0 0
  1. from scipy import *
  2. from scipy.optimize import *
  3. from scipy.optimize import leastsq
  4. import scipy.io.array_import
  5. from scipy import gplt
  6.  
  7. def fitting():
  8.     def residuals(p, y, x):
  9.         err = y-peval(x,p)
  10.         return err
  11.  
  12.     def peval(x, p):
  13.         return p[0]*((x+p[2])-1/3*(x+p[2])**2+1/10*(x+p[2])**5)+p[1]
  14.         #return p[0]*(1-exp(-(p[2]*x)**p[4])) + p[1]*(1-exp(-(p[3]*(x))**p[5] ))
  15.  
  16.         filename=('data.txt')
  17.         data = scipy.io.array_import.read_array(filename)
  18.  
  19.         y = data[:,1]
  20.         x = data[:,0]
  21.  
  22.         A_0=-2
  23.         B_0=-1650
  24.         C_0=250
  25.        
  26.         pname = (['A','B','C'])
  27.         p0 = array([A_0 , B_0, C_0])
  28.         plsq = leastsq(residuals, p0, args=(y, x), maxfev=2000)
  29.         gplt.plot(x,y,x,peval(x,plsq[0]))
  30.     gplt.grid("off")
  31.  
  32.         print "Final parameters"
  33.         for i in range(len(pname)):
  34.             print "%s = %.4f " % (pname[i], p0[i])
Add Comment
Please, Sign In to add comment