在 R
中,我使用 ccf
或 acf
来计算成对互相关函数,以便找出哪个shift 给了我最大值。从外观上看,R
给了我一个标准化的值序列。 Python 的 scipy 中是否有类似的东西,或者我应该使用 fft
模块吗?目前,我的做法如下:
xcorr = lambda x,y : irfft(rfft(x)*rfft(y[::-1]))
x = numpy.array([0,0,1,1])
y = numpy.array([1,1,0,0])
print xcorr(x,y)
最佳答案
要交叉关联一维数组,请使用 numpy.correlate .
对于二维数组,使用 scipy.signal.correlate2d .
还有scipy.stsci.convolve.correlate2d .
还有matplotlib.pyplot.xcorr它基于 numpy.correlate。
见 this post on the SciPy mailing list获取不同实现的一些链接。
编辑:@user333700 添加了指向 SciPy ticket for this issue 的链接在评论中。
关于python - 计算互相关函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6991471/