Dear All, I am trying to fit a spectrum using a power law model. I am using lmfit.minimizer. But the problem is that the value of parameter I am getting is same as the initial value. Means minimizer is not working. Here is the part of my code:
p = Parameters() p.add('b', value=10) p.add('x_0', value=0.007, vary=False) p.add('a', value=0.2) p.add('tv', value=3.0, min=0.0) def residual(p): v = p.valuesdict() return (f_c_unmask - (v['b'] * (w_c_unmask/ v['x_0'] )**(-v['a']))*(np.exp(-v['tv']*kpa_smc))) mi = minimize(residual, p, method='leastsq') print(fit_report(mi)) The output I am getting: [[Fit Statistics]] # fitting method = leastsq # function evals = 48 # data points = 1304 # variables = 3 chi-square = 232448.935 reduced chi-square = 178.669435 Akaike info crit = 6764.93727 Bayesian info crit = 6780.45685 [[Variables]] b: 10.0000000 +/- 0.00000000 (0.00%) (init = 10) x_0: 0.007 (fixed) a: 0.20000000 +/- 0.00000000 (0.00%) (init = 0.2) tv: 4.8215e-12 +/- 0.00000000 (0.00%) (init = 3) -- https://mail.python.org/mailman/listinfo/python-list