finding periodicity in a set

*To*: mathgroup at smc.vnet.net*Subject*: [mg39250] finding periodicity in a set*From*: Scott A Centoni <scentoni at stanford.edu>*Date*: Thu, 6 Feb 2003 03:07:01 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

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

**Follow-Ups**:**Re: finding periodicity in a set***From:*Matt Flax <flatmax@ieee.org>