MATLAB: How to estimate the auto-correlation function value r(k)=E[X(n)X(n-k)]

matlab; xcorr

If X(n) is an available time series, I want to estimate the auto-correlation function value of r(k). The definition of r(k) is r(k)=E[X(n)X(n-k)]. Should I use the command "xcorr(x)"? But I will obtain a sequence, how could I get a value? Is this way right? I define y(n)=x(n-k), and use the xcorr(x,y)? But still I need a value and how to do the time delay process y(n)=x(n-k)?

Best Answer

XCORR will return the autocorrelation values and the associated lags at which these values were calculated. The examples section has one:
ww = randn(1000,1);
[c_ww,lags] = xcorr(ww,10,'coeff');
stem(lags,c_ww)
What do you mean by just one value representing ACF? The sequence of values represent correlation between values at different lag indices (time) and a single value does not make sense.