コード例 #1
0
    def geterror(self):
        gp=Gnuplot()
#        gp("set yrange[0:1e20]")
        gp("a=%f" %(self.counts))
        print len(self.histogram[0])
        gp("b=5.")
        gp("c=200.")
        gp("f(x)=c/(sqrt(2.*pi)*b)*exp(-((x-a)**2/(2.*b**2)))")
        self.gphist=Data(self.histogram[0])
        self.gphist.set_option_colonsep("with","boxes")
        if (len(self.histogram[0])>3):
            gp("fit f(x) '"+self.gphist.filename+"' using 1:2 via a,b")
            gp("fit f(x) '"+self.gphist.filename+"' using 1:2 via b")
        else:
            gp("b=0.1")
#        gp.plot(self.gphist,"f(x)")
#        gp("pause 3")
        self.error=gp.eval("b")/self.counts
        print self.error
コード例 #2
0
 k = 0
 for i in file3:
     x = i.split()
     if (len(x) > 0):
         data[k, l, 0] = float(x[2])
         data[k, l, 1] = float(x[3])
         l += 1
     if (l == 512):
         l = 0
         k += 1
 file3.close()
 gp("tl=xkt3-3*sktl3*(xkt3-" + str(dt) + ")")
 gp("th=xkt3+3*sktr3*(xkt3-" + str(dt) + ")")
 gp("el=8")
 gp("eh=xge3+4")
 tl = float(str(gp.eval("tl")))
 th = float(str(gp.eval("th")))
 el = float(str(gp.eval("el")))
 eh = float(str(gp.eval("eh")))
 xs = 0.
 for i in range(1, 129):
     for j in range(1, 513):
         if (data[i - 1, j - 1, 0] >= 10.):
             if ((float(i) >= el) and (float(i) <= eh)):
                 if ((float(j) >= tl) and (float(j) <= th)):
                     gp("ss=s(" + str(float(i)) + "," +
                        str(float(j)) + ")")
                     ss = float(str(gp.eval("ss")))
                     xs += ((ss - data[i - 1, j - 1, 0]) /
                            data[i - 1, j - 1, 1])**2.
                     #print i,j,ss,data[i-1,j-1,0],data[i-1,j-1,1]
コード例 #3
0
                       str(step) + "_o_cme' u 1:2:3:4 via Ge1,Ge2,Ge3,sge")
                    #gp("fit s(x,y) '/data/wimmer/mu/jahresdaten/all_data/step_files/all/step_"+str(step)+"_o_cme' u 1:2:3:4 via Ge1,Ge2,Ge3,sge")
                    gp("set yrange[" + str(int(tp[3, 0] - 8)) + ":" +
                       str(tp[3, 0] + 60) + "]")
                    gp("fit s(x,y) '/data/wimmer/mu/jahresdaten/all_data/step_files/"
                       + str(v_int) + "_" + str(interval) + "_he/step_" +
                       str(step) + "_o_cme' u 1:2:3:4 via " + fp)
                    #gp("fit s(x,y) '/data/wimmer/mu/jahresdaten/all_data/step_files/all/step_"+str(step)+"_o_cme' u 1:2:3:4 via "+fp)

                gp("set isosamples 50")
                gp("splot s(x,y), '/data/wimmer/mu/jahresdaten/all_data/step_files/"
                   + str(v_int) + "_" + str(interval) + "_he/step_" +
                   str(step) + "_o_cme' u 1:2:3:4 with errorbars")
                #gp("splot s(x,y), '/data/wimmer/mu/jahresdaten/all_data/step_files/all/step_"+str(step)+"_o_cme' u 1:2:3:4 with errorbars")
                for i in range(len(ions)):
                    res[i, 0] = float(str(gp.eval("xge" + str(i))))
                    res[i, 1] = float(str(gp.eval("xkt" + str(i))))
                    res[i, 2] = float(str(gp.eval("Ge" + str(i))))
                    res[i, 3] = float(str(gp.eval("sge")))
                    res[i, 4] = float(str(gp.eval("sktl")))
                    res[i, 5] = float(str(gp.eval("sktr")))

                if (res[3, 2] > 0):
                    c12[ll] += res[3, 2]
                    c12_step[step] += res[3, 2]
                dummy1[kk, pp, ll] = res[3, 2]
                if (res[4, 2] > 0):
                    c13[ll] += res[4, 2]
                    c13_step[step] += res[4, 2]
                dummy2[kk, pp, ll] = res[4, 2]
コード例 #4
0
ファイル: tof_distribution.py プロジェクト: annefi/PUI-fun
        gp("sk1=" + str(sl))
        gp("sk2=" + str(sr))
        gp("G1=" + str(hd))
        gp("x1=" + str(hp))
        gp("bg=0")
        gp("kappa1=2.")
        gp("kappa2=2.")
        #gp("s(x)=x<x1 ? g1(x):k2(x)")
        #gp("fit s(x) '~/daten/giessen/swxli"+str(n)+".hstt' u 1:2:3 via G1,sg1,sk2,x1,kappa2")
        gp("s(x)=x<x1 ? k1(x):k2(x)")
        gp("fit s(x) '~/daten/giessen/swxli" + str(n) +
           ".hstt' u 1:2:3 via G1,sk1,sk2,x1,kappa1,kappa2")
        gp("plot  s(x), '/home/kleopatra/mu/daten/giessen/swxli" + str(n) +
           ".hstt' u 1:2:3 with errorbars")

        res[n, 0] = float(str(gp.eval("x1")))
        #res[n,1]=float(str(gp.eval("sg1")))
        res[n, 1] = float(str(gp.eval("sk1")))
        res[n, 2] = float(str(gp.eval("sk2")))
        res[n, 3] = float(str(gp.eval("kappa1")))
        res[n, 4] = float(str(gp.eval("G1")))
        res[n, 5] = float(str(gp.eval("bg")))
        res[n, 6] = float(str(gp.eval("kappa2")))

        # Energie

        #gp3("set xrange["+str(int(erlp))+":"+str(int(errp))+"]")
        gp3("set xrange[20:" + str(int(errp)) + "]")
        gp3("sg1=" + str(esl))
        gp3("sk1=" + str(esl))
        gp3("sk2=" + str(esr))
コード例 #5
0
ファイル: autorun.py プロジェクト: annefi/PUI-fun
for i in range(3):
    gp("dcr_fsr(e)= 'swxeff_gpt.so', '" + ion + "'")
    gp("probmode= 1")
    gp("fit dcr_fsr(x,z,m,ladung,C1,C2,C3,pf1,pf2,Ethr,FWHM,thick,defl,probmode,auxpar1,auxpar2,auxpar3) './caldat/o2_o_con.txt' u ($13/$1):16:($34) via C2,defl"
       )
    gp("plot dcr_fsr(x,z,m,ladung,C1,C2,C3,pf1,pf2,Ethr,FWHM,thick,defl,probmode,auxpar1,auxpar2,auxpar3), './caldat/o2_o_con.txt' u ($13/$1):16:($34) w e"
       )

    gp("tcr_dcr(e)= 'swxeff_gpt.so', '" + ion + "'")
    gp("probmode= 2")
    gp("fit tcr_dcr(x,z,m,ladung,C1,C2,C3,pf1,pf2,Ethr,FWHM,thick,defl,probmode,auxpar1,auxpar2,auxpar3) './caldat/o2_o_con.txt' u ($13/$1):15:33 via Ethr, FWHM,C3"
       )
    gp("plot tcr_dcr(x,z,m,ladung,C1,C2,C3,pf1,pf2,Ethr,FWHM,thick,defl,probmode,auxpar1,auxpar2,auxpar3), './caldat/o2_o_con.txt' u ($13/$1):15:33 w e"
       )

Ethr = float(str(gp.eval("Ethr")))
FWHM = float(str(gp.eval("FWHM")))
pf1 = float(str(gp.eval("pf1")))
pf2 = float(str(gp.eval("pf2")))
C1 = float(str(gp.eval("C1")))
C2 = float(str(gp.eval("C2")))
C3 = float(str(gp.eval("C3")))
defl = float(str(gp.eval("defl")))
thick = float(str(gp.eval("thick")))
#memory=mkstemp()[1]
file2 = open("./param/parameters", "w")
file2.write("Ethr    " + str(Ethr))
file2.write("\n")
file2.write("FWHM    " + str(FWHM))
file2.write("\n")
file2.write("pf1     " + str(pf1))
コード例 #6
0
ファイル: he_kappa_fit.py プロジェクト: annefi/PUI-fun
 file2.write("# step     ECH     ToF-Pos    Höhe        Kappa-Links     Kappa-Rechts    Sigma-Links     Sigma-Rechts    Chi-Quadrat      Theo-Pos-ECH  Theo-Pos-TCH  ")
 file2.write("\n")
 for ech in range(8,13):
     gp("bg=0")
     gp("x1="+str(x1))
     gp("kappa1=10")
     gp("kappa2=3")
     gp("sk1=3")
     gp("sk2=3")
     gp("G1=300500")
     for i in range(10):
         gp("set xrange[x1-4*sk1:x1+4*sk2)]")
         gp("fit f(x) '"+path+"all_step_"+str(step)+"_e"+str(ech)+"' u 1:2:3 via G1")
         gp("fit f(x) '"+path+"all_step_"+str(step)+"_e"+str(ech)+"' u 1:2:3 via x1,G1,kappa1,kappa2,sk1,sk2")
         gp("plot '"+path+"all_step_"+str(step)+"_e"+str(ech)+"' u 1:2:3 w e, f(x)")
     res[step,ech,0]=float(str(gp.eval("x1")))
     res[step,ech,1]=float(str(gp.eval("G1")))
     res[step,ech,2]=float(str(gp.eval("kappa1")))
     res[step,ech,3]=float(str(gp.eval("kappa2")))
     res[step,ech,4]=float(str(gp.eval("sk1")))
     res[step,ech,5]=float(str(gp.eval("sk2")))
     res[step,ech,6]=float(str(gp.eval("FIT_STDFIT")))
     
     file2.write(str(step))
     file2.write("   ")
     file2.write(str(ech))
     file2.write("   ")
     for i in range(7):
         file2.write(str(res[step,ech,i]))
         file2.write("   ")
     for i in range(2):
コード例 #7
0
ファイル: ion_pos_tof.py プロジェクト: annefi/PUI-fun
#plot_ions=[20,21,16,17,18,19,14,15,20]
#plot_ions=[2,3,7,5,9,11,4,8,10]

gp = Gnuplot()
gp("a=-0.1")
gp("b=0.01")
gp("c=-.1")
gp("d=-.1")
gp("e=0.01")
gp("f=-.1")

gp("f(x)= a*x**2+b*x+c")
gp("i(x)= d*x**2+e*x+f")
gp("fit f(x) 'tmpratio.dat' using 1:3 via a,b,c")
gp("fit i(x) 'tmpc4fit.dat' using 1:2 via d,e,f")
tmpx = gp.eval("a")
print "tmpx=", tmpx

gp("set xrange[20:90]")
#gp("set yrange[-4:4]")

gp("set xlabel 'E/q'")
gp("set ylabel 'Channel'")

gp("plot 'tmpratio.dat' using 1:%i t '%s','tmpratio.dat' using 1:%i t '%s','tmpratio.dat' using 1:%i t '%s','tmpratio.dat' using 1:%i t '%s','tmpratio.dat' using 1:%i t '%s','tmpratio.dat' using 1:%i t '%s','tmpratio.dat' using 1:%i t '%s','tmpratio.dat' using 1:%i t '%s','tmpratio.dat' using 1:%i t '%s',i(x),f(x)"
   % (plot_ions[0], ion_name[plot_ions[0] - 2], plot_ions[1],
      ion_name[plot_ions[1] - 2], plot_ions[2], ion_name[plot_ions[2] - 2],
      plot_ions[3], ion_name[plot_ions[3] - 2], plot_ions[4],
      ion_name[plot_ions[4] - 2], plot_ions[5], ion_name[plot_ions[5] - 2],
      plot_ions[6], ion_name[plot_ions[6] - 2], plot_ions[7],
      ion_name[plot_ions[7] - 2], plot_ions[8], ion_name[plot_ions[8] - 2]))
コード例 #8
0
def fitmaxwell(iondata):
    densfac=1.
    gp=Gnuplot()
    gpinit(gp)
    gp("m = u*%f" %(iondata.mass))
    tmpdata=[]
    maxflux=getmaxpos(iondata.flux)
    for i in range(len(iondata.flux)):
        if (iondata.countserror[i]>0.):
            tmpdata.append([iondata.velocity[i]*1000.,iondata.flux[i],iondata.fluxerror[i],iondata.dens[i]*densfac,iondata.denserror[i]*densfac,iondata.fluxefferrlow[i],iondata.fluxerror[i],iondata.fluxefferrhigh[i],iondata.fluxerror[i]])
    if (len(tmpdata)>3):
        gpdata=Data(tmpdata)
        for i in range(4):
            fluxefferrh=0.
            fluxefferrl=0.
            gp("set fit errorvariables")
            gp("FIT_MAXITER=100")
            if (i==0 or i==2 or i==3):
                gp("FIT_LIMIT = 1e-6")
            if (i==1):
                gp("FIT_LIMIT = 1e-14")
            if (i==0):
                guesspara=getfitpara(iondata.velocity,iondata.flux)
                gp("T=%f*m/kb"%(guesspara[2]))
                gp("x0=%f"%(guesspara[1]))
                gp("ph = %f"%(guesspara[0]))
            if (i==1):
                guesspara=getfitpara(iondata.velocity,iondata.dens)
                gp("T=%f*m/kb"%(guesspara[2]))
                gp("x0=%f"%(guesspara[1]))
                gp("ph = %f"%(guesspara[0]))
            if (i==2):
                guesspara=getfitpara(iondata.velocity,iondata.fluxefferrlow)
                gp("T=%f*m/kb"%(guesspara[2]))
                gp("x0=%f"%(guesspara[1]))
                gp("ph = %f"%(guesspara[0]))
            if (i==3):
                guesspara=getfitpara(iondata.velocity,iondata.fluxefferrhigh)
                gp("T=%f*m/kb"%(guesspara[2]))
                gp("x0=%f"%(guesspara[1]))
                gp("ph = %f"%(guesspara[0]))
            print "T = ",gp.eval("T")
            print "x0 = ",gp.eval("x0")
            print "ph = ",gp.eval("ph")
            print "fitparameters = ",guesspara
            gp("f(x)= ph*sqrt(m/(2.*pi*kb*T))*exp(-(m*(x-x0)**2.)/(2.*kb*T))")
#            if (1):
            if (guesspara[0]>0. and guesspara[1]>0. and guesspara[2]>0.):
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via x0"%((i*2)+2,(i*2)+3))
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via T"%((i*2)+2,(i*2)+3))
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via ph"%((i*2)+2,(i*2)+3))
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via x0"%((i*2)+2,(i*2)+3))
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via T"%((i*2)+2,(i*2)+3))
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via ph"%((i*2)+2,(i*2)+3))
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via x0"%((i*2)+2,(i*2)+3))
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via T"%((i*2)+2,(i*2)+3))
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via ph"%((i*2)+2,(i*2)+3))
                gp("fit f(x) '"+gpdata.filename+"' using 1:%i:%i via ph,T,x0"%((i*2)+2,(i*2)+3))
            if (i==0):
                if (gp.eval("T")>=0.):
                    iondata.iontempfluxfit=gp.eval("T")
                else:
                    iondata.iontempfluxfit=-0.
                if (gp.eval("ph")>=0.):
                    iondata.totfluxfit=gp.eval("ph")
                else:
                    iondata.totfluxfit=-0.
                if ((gp.eval("x0")/1000.)>=0.):
                    iondata.bulkspeedfluxfit=(gp.eval("x0")/1000.)
                else:
                    iondata.bulkspeedfluxfit=-0.
                if (gp.eval("ph_err")>=0.):
                    iondata.totfluxfiterror=gp.eval("ph_err")
                else:
                    iondata.totfluxfiterror=-0.
            if (i==1):
                if (gp.eval("T")>=0.):
                    iondata.iontempdensfit=gp.eval("T")
                else:
                    iondata.iontempdensfit=-0.
                if (gp.eval("ph")>=0.):
                    iondata.totdensfit=gp.eval("ph")/densfac
                else:
                    iondata.totdensfit=-0.
                if ((gp.eval("x0")/1000.)>=0.):
                    iondata.bulkspeeddensfit=(gp.eval("x0")/1000.)
                else:
                    iondata.bulkspeeddensfit=-0.
                if (gp.eval("ph_err")>=0.):
                    iondata.totdensfiterror=(gp.eval("ph_err")/densfac)
                else:
                    iondata.totdensfiterror=-0.
                if (gp.eval("x0_err")>=0.):
                    iondata.bulkspeeddensfiterror=(gp.eval("x0_err")/1000.)
                else:
                    iondata.bulkspeeddensfiterror=-0.
                if (gp.eval("T_err")>=0.):
                    iondata.iontempdensfiterror=gp.eval("T_err")
                else:
                    iondata.iontempdensfiterror=-0.
            if (i==2):
                if (gp.eval("ph")>=0.):
                    fluxefferrl=gp.eval("ph")
                else:
                    fluxefferrl=0.
            if (i==3):
                if (gp.eval("ph")>=0.):
                    fluxefferrh=gp.eval("ph")
                else:
                    fluxefferrh=0.
                if (fluxefferrh>0. and fluxefferrl>0.):
                    iondata.totfluxfitefferr=(abs(iondata.totfluxfit-fluxefferrh)+abs(fluxefferrl-iondata.totfluxfit))/2.
                elif (fluxefferrh>0.):
                    iondata.totfluxfitefferr=(abs(iondata.totfluxfit-fluxefferrh))
                elif (fluxefferrl>0.):
                    iondata.totfluxfitefferr=(abs(fluxefferrl-iondata.totfluxfit))
                else:
                    iondata.totfluxfitefferr=0.

            """
                       str(int(tp[3, 0] + 4)) + "]")
                    gp("fit s(x,y) '/data/wimmer/mu/jahresdaten/all_data/step_files/"
                       + str(v_int) + "_" + str(interval) + "_he/step_" +
                       str(step) + "_o_cme' u 1:2:3:4 via Ge1,Ge2,Ge3")
                    gp("set yrange[" + str(int(tp[3, 0] - 8)) + ":" +
                       str(tp[3, 0] + 45) + "]")
                    gp("fit s(x,y) '/data/wimmer/mu/jahresdaten/all_data/step_files/"
                       + str(v_int) + "_" + str(interval) + "_he/step_" +
                       str(step) + "_o_cme' u 1:2:3:4 via " + fp)

                gp("set isosamples 50")
                gp("splot s(x,y), '/data/wimmer/mu/jahresdaten/all_data/step_files/"
                   + str(v_int) + "_" + str(interval) + "_he/step_" +
                   str(step) + "_o_cme' u 1:2:3:4 with errorbars")
                for i in range(len(ions)):
                    res[i, 0] = float(str(gp.eval("xge" + str(i))))
                    res[i, 1] = float(str(gp.eval("xkt" + str(i))))
                    res[i, 2] = float(str(gp.eval("Ge" + str(i))))
                    #res[i,3]=float(str(gp.eval("sge")))
                    #res[i,4]=float(str(gp.eval("sktl")))
                    #res[i,5]=float(str(gp.eval("sktr")))

                #if (res[3,2] > 0):
                #    c12[ll]+=res[3,2]
                #dummy1[kk,pp,ll]=res[3,2]
                #if (res[5,2] > 0):
                #    c13[ll]+=res[5,2]
                #dummy2[kk,pp,ll]=res[5,2]

                file0 = open("results/" + str(v_int), "a")
                #file0=open("results/"+str(v_int)+"_c_vdf","a")
コード例 #10
0
            gp("s(x,y)=s1(x,y)+s2(x,y)+s3(x,y)+s4(x,y)+s5(x,y)+s6(x,y)+s7(x,y)+s8(x,y)+s9(x,y)+s10(x,y)+s11(x,y)+s12(x,y)+s13(x,y)")
            gp("set xrange[20:30]")
            for i in range(5):
                gp("set yrange[160:170]")
                gp("fit s(x,y) '/data/kleopatra/mu/jahresdaten/all_data/step_files/345/step_"+str(step)+"_we' u 1:2:3:4 via Ge1,Ge2,Ge3")
                gp("set yrange[175:200]")
                gp("fit s(x,y) '/data/kleopatra/mu/jahresdaten/all_data/step_files/345/step_"+str(step)+"_we' u 1:2:3:4 via Ge6,Ge7,Ge8,Ge9,Ge10,Ge11,Ge12,Ge13")
                gp("set yrange[160:200]")
                gp("fit s(x,y) '/data/kleopatra/mu/jahresdaten/all_data/step_files/345/step_"+str(step)+"_we' u 1:2:3:4 via Ge1,Ge2,Ge3,Ge5,Ge6, Ge7,Ge8,Ge9,Ge10,Ge11,Ge12,Ge13")


        
            gp("set isosamples 50")
            gp("set yrange[160:200]")
            gp("splot s(x,y), '/data/kleopatra/mu/jahresdaten/all_data/step_files/345/step_"+str(step)+"_we' u 1:2:3:4 with errorbars")
            res[step,rr,ll,0]=float(str(gp.eval("sktl3")))
            res[step,rr,ll,1]=float(str(gp.eval("sktr3")))
            for tt in range(1,14):
                res[step,rr,ll,tt+1]=float(str(gp.eval("Ge"+str(tt))))
            ll+=1
        rr+=1


#    file2=open("sl_scan_"+str(step),"w")
#    for rr in range(6):
#        for ll in range(6):
#            for i in range(15):
#                file2.write(str(res[step,rr,ll,i]))
#                file2.write("   ")
#            file2.write("\n")
#        file2.write("\n") 
コード例 #11
0
ファイル: fit2fit_ion_para.py プロジェクト: annefi/PUI-fun
                        gp.plot(diffechdata, difftchdata, "f(x)")

                # ridiculous loop to delay output (there is no way known to me to prevent !#§$! Gnuplot from output its results!??????)
                    for time in range(1000000):
                        continue
                    print "Proceed(y) / Remove points (list e.g. 1 3 5 9) / Proceed Old(o) / Reset list(r) / Skip(s):"
                    cmnd = raw_input()
                else:
                    cmnd = "s"
                print cmnd
                if (cmnd == "s"):
                    proceed = 1
                    skip = 1
                elif (cmnd == "y"):
                    proceed = 1
                    a[para] = gp.eval("a")
                    b[para] = gp.eval("b")
                    c[para] = gp.eval("c")
                elif (cmnd == "r"):
                    if (interv == 0):
                        usesteps = [
                            11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
                            24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
                            37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
                            50, 51, 52, 53, 54, 55, 56, 57
                        ]
                        xrange = [0, 20]
                    if (interv == 1):
                        usesteps = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
                        xrange = [20, 90]
                else:
コード例 #12
0
ファイル: fit2fit_ion_seq.py プロジェクト: annefi/PUI-fun
gp("N(x)=(7./m0)**k*g(x)")
gp("O(x)=((8./m0)**k)*g(x)")
gp("Ne(x)=(10./m0)**k*g(x)")
gp("Mg(x)=(12./m0)**k*g(x)")
gp("Si(x)=(14./m0)**k*g(x)")
gp("S(x)=(16./m0)**k*g(x)")
gp("Ca(x)=(20./m0)**k*g(x)")
gp("Fe(x)=((26./m0)**k)/(x/x1)**k3*g(x)")

gp("g2(x)=a3*exp(-(x/b3))+c3")
gp("g3(x)=a3*exp(-(x/b3))+c3")
gp("g4(x)=a4*exp(-(x/b4))+c4")
gp("g5(x)=a5*exp(-(x/b5))+c5")
#gp("fit phd(x) '"+ion_phd_plot[0].filename+"' using 1:2 via a2,b2,c2")
#gp("fit phd2(x) '"+ion_phd_plot[1].filename+"' using 1:2 via a4,b4,c4")
phda = gp.eval("a2")
phdb = gp.eval("b2")
phdc = gp.eval("c2")
#gp("fit g(x) '"+ion_data_plot[0].filename+"' using 1:2 via a,b,c")
#gp("fit He(x) '"+ion_data_plot[1].filename+"' using 1:2 via x0,k2")
#gp("fit C(x) '"+ion_data_plot[2].filename+"' using 1:2 via x2,k3")
#gp("fit Fe(x) '"+ion_data_plot[3].filename+"' using 1:2 via x1,k4")
#gp("fit g3(x) '"+ion_data_plot[1].filename+"' using 1:2 via a3,b3,c3")
k2 = gp.eval("k2")
k3 = gp.eval("k3")
k4 = gp.eval("k4")
x0 = gp.eval("x0")
x1 = gp.eval("x1")
x2 = gp.eval("x2")

seqa = gp.eval("a")
コード例 #13
0
ファイル: faltung.py プロジェクト: annefi/PUI-fun
    res_G = zeros([11, 11, 9], Float)
    system("rm sl_sr_variation_" + str(step))
    sl[1] = 1.75
    sr[1] = 1.89
    for j in range(11):
        for k in range(11):
            for l in range(9):
                gp("sl" + str(l) + "=" + str(sl[1] + j * 0.03))
                gp("sr" + str(l) + "=" + str(sr[1] + k * 0.02))

            gp("set xrange[160:170]")
            gp("fit kkbf1(x)'/data/kleopatra/mu/jahresdaten/all_data/step_files/345/e_files/345_step_"
               + str(step) + "_e_20_25' u 1:2:3 via x1,G1")

            x[1] = float(str(gp.eval("x1")))

            for i in range(2, 8):
                gp("x" + str(i) + "=" + str(tp[i] * x[1] / tp[1]))

            gp("set xrange[190:200]")
            gp("fit kkbf7(x) '/data/kleopatra/mu/jahresdaten/all_data/step_files/345/e_files/345_step_"
               + str(step) + "_e_20_25' u 1:2:3 via G7")

            gp("set xrange[150:200]")
            gp("fit kkbf0(x)+kkbf1(x)+kkbf2(x)+kkbf3(x)+kkbf4(x)+kkbf5(x)+kkbf6(x)+kkbf7(x)+kkbf8(x) '/data/kleopatra/mu/jahresdaten/all_data/step_files/345/e_files/345_step_"
               + str(step) + "_e_20_25' u 1:2:3 via G1,G2,G3,G4,G5,G6,G7")

            gp("plot kkbf0(x)+kkbf1(x)+kkbf2(x)+kkbf3(x)+kkbf4(x)+kkbf5(x)+kkbf6(x)+kkbf7(x)+kkbf8(x), '/data/kleopatra/mu/jahresdaten/all_data/step_files/345/e_files/345_step_"
               + str(step) +
               "_e_20_25' u 1:2:3 with errorbars, kkbf0(x),kkbf1(x),kkbf2(x),kkbf3(x),kkbf4(x),kkbf5(x),kkbf6(x),kkbf7(x),kkbf8(x)"
コード例 #14
0
                   "' using 1:2 via x0")
                gp("fit f(x) '" + gpalldata[ion][time].filename +
                   "' using 1:2 via T")
                gp("fit f(x) '" + gpalldata[ion][time].filename +
                   "' using 1:2 via ph")
                gp("fit f(x) '" + gpalldata[ion][time].filename +
                   "' using 1:2 via x0")
                gp("fit f(x) '" + gpalldata[ion][time].filename +
                   "' using 1:2 via T")
                gp("fit f(x) '" + gpalldata[ion][time].filename +
                   "' using 1:2 via ph")
                gp("fit f(x) '" + gpalldata[ion][time].filename +
                   "' using 1:2 via ph,T,x0")
#                gp("fit f(x) '"+gpalldata[ion][time].filename+"' using 1:2 via a,b,k" )
#                gp("fit f(x) '"+gpalldata[ion][time].filename+"' using 1:2 via a,b,k" )
            tempT = gp.eval("T")
            tempFlux = gp.eval("ph")
            tempVs = gp.eval("x0")
            tempVs = tempVs / 1000.
            gp("T2=%f" % (guessT))
            gp("g(x)=ph2*sqrt(m/(2.*pi*kb*T2))*exp(-(m*(x-x02)**2.)/(2.*kb*T2))"
               )
            if (1):
                gp("fit g(x) '" + gpalldata[ion][time].filename +
                   "' using 1:($3)*10000. via x02")
                gp("fit g(x) '" + gpalldata[ion][time].filename +
                   "' using 1:($3)*10000 via T2")
                gp("fit g(x) '" + gpalldata[ion][time].filename +
                   "' using 1:($3)*10000. via ph2")
                gp("fit g(x) '" + gpalldata[ion][time].filename +
                   "' using 1:($3)*10000. via x02")
コード例 #15
0
ファイル: plot_vdf_dist.py プロジェクト: annefi/PUI-fun
    for ion in range(numberions):
        gp=Gnuplot()
        gp("pi = 3.14159265")
        gp("kb = 1.38065*10.**(-23)")
        gp("u = 1.660538*10.**(-27)")
        gp("m = u*%f" %(mass[ion]))
        gp("T=5000000.")
        gp("x0=%f"%(maxvel[ion]))
        gp("ph = %f/sqrt(m/(2.*pi*kb*T))"%(maxval[ion]))
        gp("f(x)=ph*sqrt(m/(2.*pi*kb*T))*exp(-(m*(x-x0)**2.)/(2.*kb*T))")
        if (maxval[ion]>5.):
            gp("fit f(x) '"+gpallcounts[ion].filename+"' using 1:2 via T,ph,x0" )
            gp("T=T*.8")
            gp("fit f(x) '"+gpallcounts[ion].filename+"' using 1:2 via T,ph" )
            plot_ion[ion]=1
        tempT=gp.eval("T")
        tempVs=gp.eval("x0")
        tempVs=tempVs/1000.
        fitvel[ion].append([(14.6+(0.2*files)),tempVs])
        fittemp[ion].append([(14.6+(0.2*files)),tempT])
        gp("set xlabel 'V/Vs'")
        gp("set ylabel 'Counts' ")
        gp("set border 15 lw 2")
        gp("set title '%s'"%(ion_names[ion]))
        gp("set yrange[0.8:100000]")

    tmpvel=fitvel[1][len(fitvel[ion])-1][1]
    tmptemp=fittemp[1][len(fittemp[1])-1][1]

#    for ion in range(numberions):
#        fitvel[ion][len(fitvel[ion])-1][1]=fitvel[ion][len(fitvel[ion])-1][1]/tmpvel