Commit b869c4f31d547466607b3f761d0f9f3d7e66742c

Authored by bmarechal
1 parent c437a22764
Exists in master

more explicit display of results

Showing 1 changed file with 10 additions and 3 deletions Side-by-side Diff

... ... @@ -26,7 +26,11 @@
26 26  
27 27 '''optimization with non-linear least squares method'''
28 28 Ppopt, Pcov = curve_fit(P, xmes, Pmes, method = 'trf')
29   - data_waist.append([int(f.split('-')[-1].split('.')[0]), Ppopt[3]])
  29 + z = int(f.split('-')[-1].split('.')[0])
  30 + w = Ppopt[3]
  31 + w_sig = numpy.sqrt(numpy.diag(Pcov))[3]
  32 + data_waist.append([z, w, w_sig])
  33 + print('z = %.3f mm\t w = %.3f mm (+-%.3f mm)'%(z, w, 1.96*w_sig))
30 34  
31 35 '''plot'''
32 36 p[0].plot(xmes, Pmes, 'o')
33 37  
... ... @@ -36,14 +40,17 @@
36 40  
37 41 '''return waist(z) table'''
38 42 data_waist = numpy.asarray(data_waist, dtype = float)
39   -print(data_waist)
40 43  
41 44 '''waist function to optimize'''
42 45 def W(z, w0, z0):
43 46 return w0*(1.+((z-z0)*1542e-6/(numpy.pi*w0**2))**2)**0.5
44 47  
45 48 popt, cov = curve_fit(W, data_waist[:,0], data_waist[:,1])
46   -print(popt[0], popt[1])
  49 +w0 = popt[0]
  50 +w0_sig = numpy.sqrt(numpy.diag(cov))[0]
  51 +z0 = popt[1]
  52 +z0_sig = numpy.sqrt(numpy.diag(cov))[1]
  53 +print('\nz0 = %.3f mm (+-%.3f mm)\t w0 = %.3f mm (+-%.3f mm)'%(z0, 1.96*z0_sig, w0, 1.96*w0_sig))
47 54  
48 55 p[1].plot(data_waist[:,0], data_waist[:,1], 'bo')
49 56 p[1].plot(data_waist[:,0], -data_waist[:,1], 'bo')