Re: correlation function
- To: mathgroup at smc.vnet.net
- Subject: [mg128724] Re: correlation function
- From: Dana DeLouis <dana01 at icloud.com>
- Date: Wed, 21 Nov 2012 19:47:34 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
> ListCorrelate. I get different results but have no idea why. Here's my code: Hi. Just to add. If we assume that you are trying to get Fourier to match the answer of ListCorrelate.. One can also just reverse the list instead of Rotate. For example: SetOptions[ {Fourier,InverseFourier}, FourierParameters->fftSignal]; v=RandomInteger[{1,9},8] {9,5,6,4,3,4,8,6} ListCorrelate[v,v,{1,1}] {283,257,258,237,238,237,258,257} InverseFourier[Fourier[Reverse[v]]*Fourier[v]] //Round //Reverse {283,257,258,237,238,237,258,257} InverseFourier[Fourier[Reverse[v]]*Fourier[v]] //Round //RotateRight {283,257,258,237,238,237,258,257} %%% == %% == % True My guess is that you are trying to use ListConvolve ?? = = = = = = = = = = HTH :>) Dana DeLouis Mac & Mathematica 8 = = = = = = = = = = On Sunday, November 18, 2012 4:08:45 AM UTC-5, jure lapajne wrote: > Hello, > > I'm having hard time calculating correlation (autocorrelation) function of > > two lists (list). I'm trying two different ways of calculating it. One way > > is to use fourier transform and second way is to use Mathematica's function > > ListCorrelate. I get different results but have no idea why. Here's my code: > > > > korelacija1 = ListCorrelate[data, data, {1, 1}]; > > korelacija11 = Abs[InverseFourier[Abs[Fourier[data]]^2]]; > > > > All elements of "data" are real. I have two Abs in second line because for some reason InverseFourier returns small imaginary parts - I know it shouldn't. It's probably only numerical error. > > > > Thanks for help.