Help composing Personal autocorrelation function
古いコメントを表示
The following is my code for calculating the autocorrelation:
function [Rxx]= myauto(x)
% This function Estimates the autocorrelation of the sequence of
% random variables given in x as: Rxx(1), Rxx(2),…,Rxx(N),
% where N is Number of samples in x.
N=length(x);
Rxx=zeros(1,N);
for m=1: N+1
for n=1: N-m+1
Rxx(m)=Rxx(m)+x(n)*x(n+m-1);
end;
end;
plot(Rxx)
The challenge, however, is that after I plot the values I get from my autocorrelation function (i.e Rxx), only half the points that I would otherwise get with the Matlab function xcorr are produced. For example, If I were to plot the autocorrelation of sin(x) [for x from 0 to 2pi], my function would only produce half of the curve that the Matlab function would.
I, thus, need help adjusting my function so that I am able to replicate the results that I get using the Matlab xcorr function.
Thanks.
1 件のコメント
Daniel Shub
2012 年 4 月 4 日
It looks like you are only using positive lags. You need to include negative lags. Of course this causes "problems" with MATLAB indexing ...
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Correlation and Convolution についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!