Commit 9034d4f4 authored by Marcelo Luda's avatar Marcelo Luda

tuneando superajuste en un archivo aparte

parent 2055cac6
...@@ -1854,7 +1854,7 @@ if False: ...@@ -1854,7 +1854,7 @@ if False:
for var in [ kk for kk in globals().keys() if kk.startswith('pcov') ]: for var in [ kk for kk in globals().keys() if kk.startswith('pcov') ]:
print(var) print(var)
GUARDAR[var] = globals()[var] GUARDAR[var] = globals()[var]
print('') print('')
for var in [ kk for kk in globals().keys() if kk.startswith('Fitted') ]: for var in [ kk for kk in globals().keys() if kk.startswith('Fitted') ]:
print(var) print(var)
...@@ -1863,8 +1863,6 @@ if False: ...@@ -1863,8 +1863,6 @@ if False:
for var in [ kk for kk in globals().keys() if kk.endswith('_vec') ]: for var in [ kk for kk in globals().keys() if kk.endswith('_vec') ]:
print(var) print(var)
GUARDAR[var] = globals()[var] GUARDAR[var] = globals()[var]
np.savez('PARAMETROS.npz', **GUARDAR )
np.savez('PARAMETROS.npz', **GUARDAR )
...@@ -112,31 +112,24 @@ CountsSplit_2ions = [] ...@@ -112,31 +112,24 @@ CountsSplit_2ions = []
CountsSplit_2ions.append(Split(Counts[4],len(Freqs[4]))) CountsSplit_2ions.append(Split(Counts[4],len(Freqs[4])))
#%% Cargo parámetros fiteados de antes
#%% Definiciones de Numba
@jit PARAMETROS = np.load('analisis_superajuste_PARAMETROS.npz',allow_pickle=True)
def FitEIT_MM_single(Freqs, offset, DetDoppler, SG, SP, SCALE1, OFFSET, BETA1, TEMP, plot=False): for var_name in PARAMETROS.keys():
#BETA = 1.8 globals()[var_name] = PARAMETROS[var_name]
# SG = 0.6 print(f'loaded: {var_name}')
# SP = 8.1
# TEMP = 0.2e-3
freqs = [2*f*1e-6-offset for f in Freqs]
Detunings, Fluorescence1 = PerformExperiment_8levels_MM(SG, SP, gPS, gPD, DetDoppler, u, if False:
DopplerLaserLinewidth, ProbeLaserLinewidth, # Esto es para correr en caso de necesidad de limpiar todos los vectores de parametros
TEMP, alpha, phidoppler, titadoppler, print('Limpio los vectores de parámetros')
phiprobe, titaprobe, BETA1, drivefreq, for var in [ kk for kk in globals().keys() if kk.endswith('_vec') ]:
min(freqs), max(freqs)+(freqs[1]-freqs[0]), print(f'del {var}')
freqs[1]-freqs[0], circularityprobe=CircPr, del(globals()[var])
plot=False, solvemode=1, detpvec=None)
ScaledFluo1 = np.array([f*SCALE1 + OFFSET for f in Fluorescence1])
return ScaledFluo1
#%% Definiciones de Numba
@jit @jit
def FitEIT_MM_single_plot(Freqs, offset, DetDoppler, SG, SP, SCALE1, OFFSET, BETA1, TEMP): def FitEIT_MM_single_plot(Freqs, offset, DetDoppler, SG, SP, SCALE1, OFFSET, BETA1, TEMP):
...@@ -160,6 +153,14 @@ def FitEIT_MM_single_plot(Freqs, offset, DetDoppler, SG, SP, SCALE1, OFFSET, BET ...@@ -160,6 +153,14 @@ def FitEIT_MM_single_plot(Freqs, offset, DetDoppler, SG, SP, SCALE1, OFFSET, BET
@jit
def FitEIT_MM_single(Freqs, offset, DetDoppler, SG, SP, SCALE1, OFFSET, BETA1, TEMP):
"Esta verison de la función devuelve sólo el eje y, para usar de modelo en un ajuste"
return FitEIT_MM_single_plot(Freqs, offset, DetDoppler, SG, SP, SCALE1, OFFSET, BETA1, TEMP)[0]
#%% #%%
""" """
AHORA INTENTO SUPER AJUSTES O SEA CON OFFSETXPI Y DETDOPPLER INCLUIDOS AHORA INTENTO SUPER AJUSTES O SEA CON OFFSETXPI Y DETDOPPLER INCLUIDOS
...@@ -280,7 +281,8 @@ if not 'popt_SA_vec' in globals().keys() or len(popt_SA_vec)==0: ...@@ -280,7 +281,8 @@ if not 'popt_SA_vec' in globals().keys() or len(popt_SA_vec)==0:
FittedCounts_vec.append(FittedEITpi_3_SA_long) FittedCounts_vec.append(FittedEITpi_3_SA_long)
#%% #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%% Graficamos todos los fiteos
# tmp_datos=(Detuningsshort_vec,Counts_vec,Detuningslong_vec,FittedCounts_vec,SelectedCurveVec) # tmp_datos=(Detuningsshort_vec,Counts_vec,Detuningslong_vec,FittedCounts_vec,SelectedCurveVec)
...@@ -322,6 +324,32 @@ for ax in axx[:,0]: ...@@ -322,6 +324,32 @@ for ax in axx[:,0]:
for ax in axx[-1,:]: for ax in axx[-1,:]:
ax.set_xlabel('Detuning (MHz)') ax.set_xlabel('Detuning (MHz)')
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%% Inspección de parámetros
param_names = 'offset DetDoppler SG SP SCALE1 OFFSET BETA1 TEMP'.split()
err_vecs = np.array([ np.sqrt(np.diag(el)) for el in pcov_SA_vec ])
num_med = np.arange(len(pcov_SA_vec)) +1
fig, axx = plt.subplots( len(popt_SA_vec[0]),1, figsize=(13,8) , constrained_layout=True, sharex=True , sharey=False )
fig.set_constrained_layout_pads(w_pad=2/72, h_pad=2/72, hspace=0, wspace=0)
for ax,param_vec,err_vec,par_name in zip(axx,popt_SA_vec.T,err_vecs.T,param_names) :
ax.plot(num_med, param_vec, '.-')
ax.errorbar( num_med, param_vec, yerr=err_vec,
fmt='s', mfc='none', elinewidth = 1, capsize=3, ms=1)
ax.grid(True, ls=":", color='lightgray')
ax.set_ylabel(par_name)
ax.set_xticks(num_med)
ax.set_xlabel('Num. de medición')
#%% #%%
""" """
Grafico distintas variables que salieron del SUper ajuste Grafico distintas variables que salieron del SUper ajuste
...@@ -556,22 +584,22 @@ plt.errorbar(np.arange(0,9,1),[popt_1[ki],popt_2[ki],popt_3[ki],popt_4[ki],popt_ ...@@ -556,22 +584,22 @@ plt.errorbar(np.arange(0,9,1),[popt_1[ki],popt_2[ki],popt_3[ki],popt_4[ki],popt_
if False: if False:
GUARDAR = {} GUARDAR = {}
for var in [ kk for kk in globals().keys() if kk.startswith('pop') ]: # for var in [ kk for kk in globals().keys() if kk.startswith('pop') ]:
print(var) # print(var)
GUARDAR[var] = globals()[var] # GUARDAR[var] = globals()[var]
print('') # print('')
for var in [ kk for kk in globals().keys() if kk.startswith('pcov') ]: # for var in [ kk for kk in globals().keys() if kk.startswith('pcov') ]:
print(var) # print(var)
GUARDAR[var] = globals()[var] # GUARDAR[var] = globals()[var]
print('') # print('')
for var in [ kk for kk in globals().keys() if kk.startswith('Fitted') ]: # for var in [ kk for kk in globals().keys() if kk.startswith('Fitted') ]:
print(var) # print(var)
GUARDAR[var] = globals()[var] # GUARDAR[var] = globals()[var]
print('') # print('')
for var in [ kk for kk in globals().keys() if kk.endswith('_vec') ]: for var in [ kk for kk in globals().keys() if kk.endswith('_vec') ]:
print(var) print(var)
GUARDAR[var] = globals()[var] GUARDAR[var] = globals()[var]
np.savez('PARAMETROS.npz', **GUARDAR ) np.savez('analisis_superajuste_PARAMETROS.npz', **GUARDAR )
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment