Re: NonlinearFit problem
- To: mathgroup at smc.vnet.net
- Subject: [mg52055] Re: [mg52033] NonlinearFit problem
- From: DrBob <drbob at bigfoot.com>
- Date: Tue, 9 Nov 2004 01:36:40 -0500 (EST)
- References: <200411080813.DAA07880@smc.vnet.net>
- Reply-to: drbob at bigfoot.com
- Sender: owner-wri-mathgroup at wolfram.com
Here's the Jacobian of f with respect to {a,b}:
jac = Outer[D[f, ##1] & , {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)}}
Notice the appearance Log[r], which is undefined for r == 0, which occurs at the first data point.
Leaving that point out, we do get a solution:
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}};
f = r^a*Exp[(-b)*r];
NonlinearFit[Rest[data], f, r, {a, b}]
r^5.509926608585867/ E^(0.9448215835344381*r)
Consider this, too:
f /. r -> 0
0^a
There's no way to fit that to a y-value, so there's no point in including r = 0 in the data.
Bobby
On Mon, 8 Nov 2004 03:13:12 -0500 (EST), 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?
>
>
> Feng-Yin Chang,
> Institute of Physics,NCTU,Taiwan
>
>
>
>
--
DrBob at bigfoot.com
www.eclecticdreams.net
- References:
- NonlinearFit problem
- From: Feng-Yin Chang <fychang@slac.stanford.edu>
- NonlinearFit problem