Re: Re: NonlinearFit problem
- To: mathgroup at smc.vnet.net
- Subject: [mg52092] Re: [mg52074] Re: NonlinearFit problem
- From: DrBob <drbob at bigfoot.com>
- Date: Wed, 10 Nov 2004 04:45:46 -0500 (EST)
- References: <cmnabi$7sn$1@smc.vnet.net> <200411090637.BAA22873@smc.vnet.net>
- Reply-to: drbob at bigfoot.com
- Sender: owner-wri-mathgroup at wolfram.com
> It is the first data point that is causing the problem. As the error > message says, the Jacobian > > Outer[D, {r^a Exp[-b r]}, {a, b}] I think that's the gradient, while this is the Jacobian: First@Outer[D, {r^a Exp[-b r]}, {a, b}, {a, b}] {{(r^a*Log[r]^2)/E^(b*r), (-E^((-b)*r))*r^(1 + a)* Log[r]}, {(-E^((-b)*r))* r^(1 + a)*Log[r], r^(2 + a)/E^(b*r)}} It does seem as if Mathematica would complain about the gradient before the Jacobian, though. Bobby On Tue, 9 Nov 2004 01:37:48 -0500 (EST), Paul Abbott <paul at physics.uwa.edu.au> wrote: > In article <cmnabi$7sn$1 at smc.vnet.net>, > Feng-Yin Chang <fychang at slac.stanford.edu> wrote: > >> Hi All, >> Could anyone give me any suggestion for the specified fitting function >> f= r^a Exp[-b r]? >> My data point was given below, >> data={{0, 1.00002}, {2.31507, 26.4522}, {4.32033, 56.8265}, {6.63539, >> 59.6674}, {8.64066, 39.5536}, {10.9557, 21.6862}, {12.961, >> 10.1456}, {15.276, 4.39652}} >> >> The following way, >> NonlinearFit[data,f,r,{a,b}], gives the error message, >> FindFit::njnum: >> The Jacobian is not a matrix of numbers at (a,b)={1.,1.}. >> >> How should I do this fitting without the problem? > > It is the first data point that is causing the problem. As the error > message says, the Jacobian > > Outer[D, {r^a Exp[-b r]}, {a, b}] > > is not a matrix of numbers at (a,b)={1.,1.}, unless you take the limit > as r->0. > > If you drop the first point, or perturb the x value away from 0, the fit > proceeds without problem. For example, > > data={{0.0001, 1.00002}, {2.31507, 26.4522}, {4.32033, 56.8265}, > {6.63539, 59.6674}, {8.64066, 39.5536}, {10.9557, 21.6862}, > {12.961, 10.1456}, {15.276, 4.39652}} > > FindFit[data, r^a Exp[-b r], {a,b}, r] > > Cheers, > Paul > -- DrBob at bigfoot.com www.eclecticdreams.net
- References:
- Re: NonlinearFit problem
- From: Paul Abbott <paul@physics.uwa.edu.au>
- Re: NonlinearFit problem