废话不多说,直接上代码
def AutoCorrelation(x, lags):
N = len(x)
auto_corr = np.correlate(x, x, mode = 'full')
assert N >= lags - 1
auto_corr = auto_corr[N - lags - 1 : N + lags]
auto_corr = auto_corr / np.max(auto_corr)
return auto_corr
测试一下
a = np.array([1, 2, 3, 4, 5, 6])
print(AutoCorrelation(a, 2))
输出为:
用Matlab跑一下