function [p_in,lim_lower,lim_upper]=initParamExponential(x,y) %Assumes form a*exp(-bx)+c %Setting upper and lower limits [amp_max,ind_max]=max(y); [amp_min,ind_min]=min(y); lim_upper=[Inf,Inf,Inf]; lim_lower=-lim_upper; %Fix to avoid unphysical offsets on data where all y values exceed 0. if all(y>0) lim_lower(3)=0; end if abs(amp_max)>abs(amp_min) lim_upper(1)=Inf; lim_lower(1)=0; else lim_upper(1)=0; lim_lower(1)=-Inf; end if (ind_max>ind_min && abs(amp_max)>abs(amp_min))... || (ind_maxabs(amp_min) && amp_max>0 % p_in(1)=amp_max; % p_in(2)=-1; % else % p_in(1)=amp_min; % p_in(2)=-1; % end if abs(amp_max)>abs(amp_min) p_in(3)=amp_min; else p_in(3)=amp_max; end end