[Numpy-discussion] lsq problem
Keith Goodman
kwgoodman@gmail....
Wed Feb 14 21:11:59 CST 2007
On 2/14/07, Tommy Grav <tgrav@mac.com> wrote:
> I need to fit a gaussian profile to a set of points and would like to
> use scipy (or numpy) to
> do the least square fitting if possible. I am however unsure if the
> proper routines are
> available, so I thought I would ask to get some hints to get going in
> the right direction.
>
> The input are two 1-dimensional arrays x and flux, together with a
> function
>
> def Gaussian(a,b,c,x1):
> return a*exp(-(pow(x1,2)/pow(c,2))) - c
>
> I would like to find the values of (a,b,c), such that the difference
> between the gaussian
> and fluxes are minimalized.
You left b out of your function: a*exp(-power((x - b),2) / c).
If it is a one-off example you can always use brute force---just search a grid:
for a in as:
for b in bs:
for c in cs:
But if you have a lot of data or you need to do many fits I bet scipy
has what you need.
More information about the Numpy-discussion
mailing list