我正在尝试理解np.correlate()函数中的“相同”模式。我在某个网站上看到了定义,但是我不明白它是如何进行计算以获得最终数组的。
如何从此:np.correlate([2, 1], [1, 1], 'same')
得到此:array([2, 3])
有人可以做一个计算例子吗?
最佳答案
mode='same'
仅表示您将得到与最大输入数组大小相等的结果。它是完整互相关的子集(也有一个mode='full'
选项)。在您的示例中,我们有:
2 1
1 1
------
0+2+0 = 2
(点积,零填充(如果适用),然后“滑动”)
2 1
1 1
-----
2+1 = 3
因此,
[2,3]
的答案。完全互相关将继续滑动。
2 1
1 1
-------
0+1+0 = 1
因此,完整的互相关将为
[2,3,1]
。注意:这些关键字来自这些函数的MATLAB实现