why are values returned by xcorr not within [-1,1]?

11 views (last 30 days)
I am using [r, lags] = xcorr(y1,y2) where y1 and y2 are two time series data.
I would like to know the meaning of the values returned by r and why they are the correlation values I know that should be in [-1,1].
Your insights would be great.

Accepted Answer

Adam
Adam on 12 Dec 2016
Edited: Adam on 12 Dec 2016
Use the 'scaleopt' option as documented in the help if you want normalised results. Otherwise the results will depend on the magnitude of your data.
e.g.
a = 1:10;
b = 1:10;
xcorr( a, b )
will return values ranging from 10 to 385.
xcorr( a, b, 'coeff' )
will return values between 0 and 1;
  4 Comments
michal.markun
michal.markun 3 minutes ago
I don't understand it. Correlation should always be higher than -1 and lower than +1, by definition, for any lead/lag and and irrespective of whether you compute it for the same variable (auto-) or for two variables (cross-).

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!