MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Fitting a function to a list (newbie)


f[x_] := 10. + 7.*Sin[3.x + 1.5]

data = Table[{x = Random[], f[x]}, {10}] // Sort;

Needs["Statistics`NonlinearFit`"]

Clear[x, a, b, c, d];

NonlinearFit[data, a + b*Sin[c*x + d], x, {a, b, c, d}]

10. + 7. Sin[20.4911 - 3. x]

{a, b, c, d} /. (BestFitParameters /. 
      NonlinearRegress[data, a + b*Sin[c*x + d], x, {a, b, c, d}])

{10., 7., -3., 20.4911}

In general, the parameters will have to be adjusted because of the periodic 
nature of the Sin function.

Bob Hanlon

In a message dated 1/30/2000 8:05:53 PM, mathprof at bigfoot.com writes:

>I'm new to Mathematica 4.0, so I apologize if this question is overly
>trivial (and please let me know if there's a place for trivial
>question).
>
>I have a list that I'd like to fit to the function:
>
>A + B*Sin[C*x+D]
>
>In other words, I'd like to find the (approximate numeric) values of
>A,B,C,D that yield the best fit to my data.
>
>I tried using Fit[], but it only applies to linear combinations of
>functions, and couldn't optomize the values of C and D.
>
>For this specific problem, I'm guessing some sort of Fourier transform
>might work, but I'm interested in a more general solution -- for example
>if Sin[] were replaced with a more complicated function.
>


  • Prev by Date: Re: Fitting a function to a list (newbie)
  • Next by Date: Cellular Automaton in Mathematica and OOP
  • Previous by thread: Re: Fitting a function to a list (newbie)
  • Next by thread: Re: Fitting a function to a list (newbie)