The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » Inactive » comp.soft-sys.math.mathematica

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: correlation function
Replies: 5   Last Post: Nov 27, 2012 3:34 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Bob Hanlon

Posts: 906
Registered: 10/29/11
Re: correlation function
Posted: Nov 18, 2012 5:16 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Use ListConvolve

data = RandomReal[1000, RandomInteger[{20, 50}]];

n = Length[data]


Simplify[InverseFourier[Fourier[data]^2] ==
ListConvolve[data, data, {1, 1}]/Sqrt[n]]


Bob Hanlon

On Sun, Nov 18, 2012 at 3:56 AM, 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.

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.