Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2003
*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 2003

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

Search the Archive

Re: finding periodicity in a set

  • To: mathgroup at smc.vnet.net
  • Subject: [mg39274] Re: finding periodicity in a set
  • From: Scott A Centoni <scentoni at stanford.edu>
  • Date: Fri, 7 Feb 2003 03:07:57 -0500 (EST)
  • References: <b1t5bj$90v$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Thanks for the responses!  (Particularly from Matt Flax.)  I see now
that my sample fake data set is misleading, I should have specified it
as

xlist = 0.202 + 1.618 Table[0.001 Random[] +
Random[Integer,{3,17}],{100}]

to make it crystal clear that no correlation between successive items in
the list is implied and that the order is completely irrelevant.

Scott A Centoni wrote:
> 
> I have a list of coordinates where I want to find the period and offset
> (modulo the period).  To illustrate, let's create the fake data set
> 
> xlist = 0.202+1.618(0.001 Random[ ] + Range[3, 17])
> 
> I want a function that will return
> 
> periodicity[xlist]
> 
> {1.618,0.202}
> 
> _pace_ an error in the third decimal place.  Note that the order of the
> data in the list is irrelevant; it's to be considered a set, not a vector.
> 
> My first thought is to turn this into a sum of delta functions
> 
> xfunc = Plus@@(DiracDelta[x-#]&/@xlist)
> 
> and then Fourier transform this
> 
> kfunc = FourierTransform[xfunc,x,k]
> 
> and find the first nontrivial peak.  Does someone have a better way?  Or
> if not, what's the "best" way of locating the peak?
> 
> Thanks,
> Scott


  • Prev by Date: Re: finding periodicity in a set
  • Next by Date: Re: Re: Formatted output
  • Previous by thread: Re: finding periodicity in a set
  • Next by thread: Re: finding periodicity in a set