I am trying to perform a fit to an exponential plus a polynomial. I get some good quick results using gnuplot. Which are the values found inside the initialParams found inside the C-macro.
If I set those as the initial parameters and let all the fit parameters run free, I do not get really good results.
Then, I decide to fix some limits to the exponential parameters, using:
   fn->SetParLimits(0,0.8*initialParams[0],1.2*initialParams[0]);
   fn->SetParLimits(1,0.8*initialParams[1],1.2*initialParams[1]);
You will see those lines commented inside the C-macro. It is a bit strange that I observe in the fitting results the following:
p0                        = -9.25005e-06                      	 (fixed)
p1                        =   0.00186612   +/-   7.44872e-09  	 (limited)
Although I just limited and not fixed parameter p0.
The result seems a bit better although not perfect in all the range.
If I fix the two exponential parameters then I get the result I expect, even if I let free the polynomial parameters:
I really need to automatize this process for similar curves, so I need to solve this problem. The biggest suspect for me is why the p0 parameter is fixed even if I just used SetParLimits.
BxFit_0.C (2.4 KB)
outFinal_Xp.txt (16.2 KB)


