本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。