Re: Lorentzian on a baseline
- To: mathgroup at smc.vnet.net
- Subject: [mg89218] Re: Lorentzian on a baseline
- From: dh <dh at metrohm.ch>
- Date: Thu, 29 May 2008 07:06:51 -0400 (EDT)
- References: <g1j6g0$qne$1@smc.vnet.net>
Hi Fred,
I think you have a problem with local minimas. Therefore, you must give
reasonable starting values for m1,m2 or a better starting value for m3.
E.g. a start value for m3 can easiliy be found by looking at the data
plot. Here is an example:
fun[x_,m1_,m2_,m3_]=m1-m2/((x-m3)^2+m2^2);
dat=Table[{x,fun[x,0.5,2,220]},{x,200,250}];
sol=fun[x,m1,m2,m3]/.FindFit[dat,m1-m2/((x-m3)^2+m2^2),{{m1,0.5},{m2,2},{m3,250}},x,MaxIterations->10000]
Plot[{sol,fun[x,0.5,2,220]},{x,200,250}]
strating value for
m30 fails
m1=210,220,240 o.k.
m=250 fails
hope this helps, Daniel
fred.engles at gmail.com wrote:
> I'm trying to fit a Lorentzian subtracted from a constant baseline,
> using findfit.
>
> FindFit[rawdata, m1 - m2/((x - m3)^2 + m2^2), {m1, m2, {m3, 250}}, x,
> MaxIterations -> 10000]
>
> Isn't working - either a totally flat horizantal line, or the
> subtracted 'Lorentzian' looks almost delta-function sharp. Help?
> Thanks!
>
> P.S. Does Experimental Data Analyst work with 6.0.1 (Mac)?
>
--
Daniel Huber
Metrohm Ltd.
Oberdorfstr. 68
CH-9100 Herisau
Tel. +41 71 353 8585, Fax +41 71 353 8907
E-Mail:<mailto:dh at metrohm.com>
Internet:<http://www.metrohm.com>