From fbab09d81c55073e85ba4097303eb994df79ac1f Mon Sep 17 00:00:00 2001 From: Olivier Sauter <olivier.sauter@epfl.ch> Date: Wed, 5 Oct 2016 12:10:31 +0000 Subject: [PATCH] continue developing generic_fit_gui git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@6540 d63d8f72-b253-0410-a779-e742ad2e26cf --- crpptbx/data_generic_fit_gui.m | 2 +- crpptbx/generic_fit.m | 32 ++++++++++++++++++-------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/crpptbx/data_generic_fit_gui.m b/crpptbx/data_generic_fit_gui.m index c50400d6..74b80f58 100644 --- a/crpptbx/data_generic_fit_gui.m +++ b/crpptbx/data_generic_fit_gui.m @@ -236,7 +236,7 @@ else gen_signals = data_gen; end handles.gen_signals = gen_signals; - +keyboard fields_avail = fieldnames(gen_signals); if length(fields_avail)>0 set(handles.popup_data_left,'string',fields_avail); diff --git a/crpptbx/generic_fit.m b/crpptbx/generic_fit.m index 54a7f8c2..97532229 100644 --- a/crpptbx/generic_fit.m +++ b/crpptbx/generic_fit.m @@ -93,7 +93,7 @@ if in_option_eff == 0 % construct 1D array with data from data_in{idata} if ~isempty(it_data{idata}) for it=1:length(it_data{idata}) - jrho_data = find(data_in{idata}.x(:,it_data{idata}(it))>0 & data_in{idata}.x(:,it_data{idata}(it))<1.01); + jrho_data = find(data_in{idata}.x(:,it_data{idata}(it))>0 & data_in{idata}.x(:,it_data{idata}(it))<1.01 & data_in{idata}.data(:,it_data{idata}(it))>0); if length(jrho_data)>0 rhotor_data_tofit(end+1:end+length(jrho_data)) = data_in{idata}.x(jrho_data,it_data{idata}(it)); xxdata_tofit(end+1:end+length(jrho_data)) = data_in{idata}.data(jrho_data,it_data{idata}(it)); @@ -110,7 +110,6 @@ if in_option_eff == 0 gen_signals_data.(dataname).combined_data.perDt{i}.data = []; gen_signals_data.(dataname).combined_data.perDt{i}.error_bar = []; gen_signals_data.(dataname).combined_data.perDt{i}.provenance = []; - return else [rhoeff,irhoeff] = sort(rhotor_data_tofit); xxdata_tofit_eff = xxdata_tofit(irhoeff); @@ -132,18 +131,23 @@ xxfit = []; dxxfitdrn = []; for i=1:length(gen_signals_data.(dataname).combined_data.perDt) rhoeff = gen_signals_data.(dataname).combined_data.perDt{i}.rho; - xxdata_tofit_eff = gen_signals_data.(dataname).combined_data.perDt{i}.data; - xxerr_tofit_eff = gen_signals_data.(dataname).combined_data.perDt{i}.error_bar; - xeff = [0. rhoeff]; - yeffxx = [xxdata_tofit_eff(1) xxdata_tofit_eff]; - erreffxx = [100.*max(xxerr_tofit_eff) xxerr_tofit_eff]; - [xxfit(:,i),dxxfitdrn(:,i)]=interpos(xeff,yeffxx,main_rho,tension_xx_eff,[1 0],[0 0],erreffxx); - if doplot - figure(11);clf - errorbar(rhoeff,xxdata_tofit_eff,xxerr_tofit_eff,'*'); - hold all - plot(main_rho,xxfit(:,i)) - pause(0.01) + if ~isempty(rhoeff) + xxdata_tofit_eff = gen_signals_data.(dataname).combined_data.perDt{i}.data; + xxerr_tofit_eff = gen_signals_data.(dataname).combined_data.perDt{i}.error_bar; + xeff = [0. rhoeff]; + yeffxx = [xxdata_tofit_eff(1) xxdata_tofit_eff]; + erreffxx = [100.*max(xxerr_tofit_eff) xxerr_tofit_eff]; + [xxfit(:,i),dxxfitdrn(:,i)]=interpos(xeff,yeffxx,main_rho,tension_xx_eff,[1 0],[0 0],erreffxx); + if doplot + figure(11);clf + errorbar(rhoeff,xxdata_tofit_eff,xxerr_tofit_eff,'*'); + hold all + plot(main_rho,xxfit(:,i)) + pause(0.01) + end + else + xxfit(1:nb_points,i) = NaN; + dxxfitdrn(1:nb_points,i) = NaN; end end -- GitLab