1 #! /usr/bin/env python2
6 import matplotlib.pyplot as plt
8 from scipy.optimize import curve_fit
14 aa=np.float128(10**(-gg-2)*a)
16 return np.exp( np.log(aa) + (gg-2)/2*np.log(x) - gg*x/(2*Tr) )
17 # return aa * ( x**((gg-2)/2) * np.exp( -gg*x/(2*Tr) ) )
19 #x,y= np.loadtxt('1L2Y_L_GB000.stat',usecols=(0,10),skiprows=30,unpack=True)
20 #x,y= np.loadtxt('1L2Y_NH_GB000.stat',usecols=(0,11),skiprows=10000,unpack=True)
21 #x,y= np.loadtxt('1L2Y_B_GB000.stat',usecols=(0,10),skiprows=30,unpack=True)
23 if (sys.argv[1] == '1L2Y_NH_GB000.stat' or sys.argv[1] == '1L2Y_NH_GB.stat'):
24 x,y= np.loadtxt(sys.argv[1],usecols=(0,11),skiprows=10000,unpack=True)
26 x,y= np.loadtxt(sys.argv[1],usecols=(0,10),skiprows=10000,unpack=True)
28 h,bin=np.histogram(y,bins=50,density=True)
30 plt.bar(bin[:-1], h, width = bin[2]-bin[1])
31 plt.xlim(min(bin), max(bin))
33 plt.ylabel('probality')
34 plt.xlabel('temperature')
36 center = (bin[:-1] + bin[1:]) / 2
39 popt, pcov = curve_fit(prob_T, center, h)
40 xfine = np.linspace(min(bin), max(bin), 100)
43 chi_squared = np.sum((prob_T(center, *popt)-h)**2)
44 print '%15.10f' % chi_squared
47 #print prob_T(xfine,popt[0])
48 plt.plot(xfine,prob_T(xfine,popt[0]),'-',c='red')
49 plt.savefig(sys.argv[1]+'.png')