Re: FindFit bug
- To: mathgroup at smc.vnet.net
- Subject: [mg116086] Re: FindFit bug
- From: Gary Wardall <gwardall at gmail.com>
- Date: Tue, 1 Feb 2011 06:54:37 -0500 (EST)
- References: <ii5rhr$fh4$1@smc.vnet.net>
On Jan 31, 2:23 am, Igor <igor.vol... at gmail.com> wrote:
> Hello,
> It seems that FindFit cannot fit a sine function.
> It produces no warnings and gives a totally
> wrong answer:
>
> dat = Table[{t, 3 Sin[3 t + 1]}, {t, -3, 3, 0.1}];
>
> fit = FindFit[dat, a Sin[w t + f], {a, w, f}, t]
>
> Show[ListPlot[dat], Plot[a Sin[w t + f] /. fit, {t, -3, 3}]]
>
> Output: {a -> 0.599211, w -> 1.51494, f -> 3.80421}
>
> At the same time it fits Sin[3t+1] just fine.
Numerical procedures are like little girls. =93When they are good they
are very very good but when they are bad they are very very bad=94. In
other words when ever you use a procedure that has a numerical
component you run the risk of not getting the correct answer. In
Mathematica 7=92 look at ?NSolve "Possible Issues"
Try their example:
poly = Expand[Product[x - i, {i, 30}]];
NSolve[poly == 0, x]
Solve[poly == 0, x]
FindFit is a numerial procedure also and when used use with caution,
Gary Wardall