[SciPy-User] simplex algorithm and curve fitting
servant mathieu
servant.mathieu@gmail....
Tue Feb 21 03:38:45 CST 2012
Dear Scipy users,
I've got some troubles with the scipy.optimize.curve_fit function. This
function is based on the Levenburg-Maquardt algorithm, which is extremely
rapid but usually finds a local minimum, not a global one (and thus often
returns anormal parameter values). In my research field, we usually use
Nelder Mead's simplex routines to avoid this problem. However, I don't know
if it is possible to perform curve fitting in scipy using simplex; the fmin
function doesn't seem to perform adjustments to data.
Here is my code for fitting a three parameters hyperbolic cotangent
function using curve_fit:
from scipy.optimize import curve_fit
import numpy as np
def func (x, A,k, r ):
return r + (A /(k*x)) * np.tanh (A*k*x)
xdata = np.array ([0.15,0.25,0.35,0.45, 0.55, 0.75])
datacomp = np.array ([344.3276300, 324.0051063, 314.2693475,
309.9906375,309.9251162, 307.3955800])
dataincomp = np.array ([363.3839888, 343.5735787, 334.6013375, 327.7868238,
329.4642550, 328.0667050])
poptcomp, pcovcomp = curve_fit (func, xdata, datacomp, maxfev = 10000)
poptincomp, pcovincomp = curve_fit (func, xdata, dataincomp, maxfev = 10000)
How could I proceed to perform the fitting using simplex?
Best,
Mat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20120221/e4761ced/attachment.html
More information about the SciPy-User
mailing list