Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

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

Search the Archive

Re: best strategy to fit the given function to my data

  • To: mathgroup at smc.vnet.net
  • Subject: [mg71243] Re: [mg71183] best strategy to fit the given function to my data
  • From: Christopher Arthur <caa0012 at unt.edu>
  • Date: Sat, 11 Nov 2006 03:39:04 -0500 (EST)
  • References: <200611101137.GAA13618@smc.vnet.net>

Hi,

Without trying to understand the details of your function, I'll say a 
few general things I've learned about fitting.  Fourier series 
approximations are good if your data is periodic or defined on a 
bounded space, and you want to be able to integrate your functions.  
Splines and Interpolation will fit just about anything, but you don't 
get good smoothness beyond what partials you give to it.  And finding 
arclength of a spline, for example, is not possible analytically.  
Almost all the fit functions assume a smoothness to the dataset, 
whereas your set is apparently only piecewise smooth at best.  Hence, 
consider just fitting on smooth components of the image piecewise.  C 
Arthur

Quoting aitor69gonzalez at gmail.com:

> Hello,
>
> I have a set of data that can be approximated by the 2-variable
> function "noisydyn[a_,t_]". The function "noisydyn[a_,t_]" contains a
> Sin function, because there is oscillation in my data, and a Step
> (Heaviside) function, because the observations are Boolean. The
> function "noisydyn[a_,t_]" also contains a sigmoid (Hill) function,
> "Period[a_]" with three unknown parameters, "m", "theta" and "T" that I
> have approximated to the data by hand.
>
> (*Remove["Global`*"]; Off[General::spell1];*)
> m = 4; theta = 2400; T = 120;
> Period[a_] := T*(1 + 11*(a^m/(a^m + theta^m)));
> noisydyn[a_, t_] :=
>    UnitStep[Sin[
>        2*\[Pi]*((t - a)/T + a/Period[a]) - Random[Real, {-0.5,
> 0.5}]]];
> data = Table[noisydyn[a, t], {a, 0, 720, 20}, {t, 0, 120, 2}];
> ListDensityPlot[data, Mesh -> False];
>
> I have found in Mathematica several functions to fit data, Nminimize,
> Nmaximize, Fit, etc, but I do not know, which of them should I use.
> Given the functions "Period" and "noisydyn", how I can fit the
> parameters "m", "theta" and "T" to the Table "data".
>
> Thank you in advance,
> Aitor
>
>



  • Prev by Date: Re: 2 dimension Newton Raphson
  • Next by Date: Re: Sovling non-linear eq-sys (beginners question)
  • Previous by thread: best strategy to fit the given function to my data
  • Next by thread: Series[] nested (bug?)