[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gaussfit question
David Fanning wrote:
>Why don't you continue on a bit and see if you
>get the result you expect.
Yes I did. I have the feeling it was more or less my fault.
>From my data it is clear that the centre of the gaussian should be
somewhere in the middle between 0 an 36 which is not the case here for
a[1].
Doing an 'oplot, x,yfit' gives a nice fit but not the right solution to
the problem (fitting a gaussian).
IDL> y=[52.0,52.7,56.0,60.9,65.40,71.40, 75.20,
80.80,86.1,89.8,88.3,94.8,94.9,100.5,100.1,103.9,105.3,106.2,107.3,
108.2,106.1,105.7,107.8,102.2,
101.3,97.2,92.1,87.4,87.0,82.5,77.4,69.9,67.7, 62.1, 58.9, 53.4,53.8]
IDL> x=findgen(37)
IDL> yfit=gaussfit(x,y,a)
% Program caused arithmetic error: Floating underflow
IDL> print,a
-92.8950 38.7370 9.73786 48.4928
4.97301 -0.0657729
Using the estimates keyword and removing the linear and quadratic term
results in the proper solution.
IDL> yfit=gaussfit(x,y,a, nterms=4,estimates=[90.0,20.0,10.0,10.0])
IDL> print,a
96.7115 18.2423 13.4573 10.8630
without ESTIMATES the starting values for the fit seem not close enough
IDL> yfit=gaussfit(x,y,a, nterms=4)
% Program caused arithmetic error: Floating underflow
IDL> print,a
-35.3286 35.3296 3.44060 89.3350
Therefore I think I have to supply estimates to GAUSS2DFIT() in the case I
like to fit an surface
because this routine uses GAUSSFIT().
Thanks for the help
Mirko