本文简要介绍 python 语言中 numpy.correlate
的用法。
用法:
numpy.correlate(a, v, mode='valid')
两个一维序列的互相关。
此函数计算信号处理文本中通常定义的相关性:
c_{av}[k] = sum_n a[n+k] * conj(v[n])
a 和 v 序列在必要时补零,而 conj 是共轭。
- out: ndarray
a 和 v 的离散互相关。
参数:
返回:
注意:
上述相关性的定义不是唯一的,有时相关性可能会有不同的定义。另一个常见的定义是:
c'_{av}[k] = sum_n a[n] conj(v[n+k])
这与
c_{av}[k]
通过c'_{av}[k] = c_{av}[-k]
相关。numpy.correlate
在大型数组(即 n = 1e5)中可能执行缓慢,因为它不使用 FFT 来计算卷积;在这种情况下,scipy.signal.correlate
可能更可取。例子:
>>> np.correlate([1, 2, 3], [0, 1, 0.5]) array([3.5]) >>> np.correlate([1, 2, 3], [0, 1, 0.5], "same") array([2. , 3.5, 3. ]) >>> np.correlate([1, 2, 3], [0, 1, 0.5], "full") array([0.5, 2. , 3.5, 3. , 0. ])
使用复杂的序列:
>>> np.correlate([1+1j, 2, 3-1j], [0, 1, 0.5j], 'full') array([ 0.5-0.5j, 1.0+0.j , 1.5-1.5j, 3.0-1.j , 0.0+0.j ])
请注意,当两个输入序列改变位置时,您会得到时间反转的复共轭结果,即
c_{va}[k] = c^{*}_{av}[-k]
:>>> np.correlate([0, 1, 0.5j], [1+1j, 2, 3-1j], 'full') array([ 0.0+0.j , 3.0+1.j , 1.5+1.5j, 1.0+0.j , 0.5+0.5j])
相关用法
- Python numpy corrcoef用法及代码示例
- Python numpy copy用法及代码示例
- Python numpy copysign用法及代码示例
- Python numpy count_nonzero用法及代码示例
- Python numpy cosh用法及代码示例
- Python numpy conjugate用法及代码示例
- Python numpy concatenate用法及代码示例
- Python numpy cos用法及代码示例
- Python numpy cov用法及代码示例
- Python numpy conj用法及代码示例
- Python numpy convolve用法及代码示例
- Python numpy column_stack用法及代码示例
- Python numpy compress用法及代码示例
- Python numpy common_type用法及代码示例
- Python numpy chararray.ndim用法及代码示例
- Python numpy chebyshev.chebsub用法及代码示例
- Python numpy chararray.nbytes用法及代码示例
- Python numpy chebyshev.chebdiv用法及代码示例
- Python numpy chararray.setflags用法及代码示例
- Python numpy chararray.flat用法及代码示例
- Python numpy can_cast用法及代码示例
- Python numpy chararray.strides用法及代码示例
- Python numpy chebyshev.cheb2poly用法及代码示例
- Python numpy chararray.view用法及代码示例
- Python numpy chebyshev.chebx用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.correlate。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。