NumPy 1.14 - numpy.correlate()

numpy.correlate




numpy

numpy.correlate

numpy.correlate(a, v, mode='valid') [source]

दो 1-आयामी दृश्यों का क्रॉस-सहसंबंध।

यह फ़ंक्शन सहसंबंध की गणना करता है जैसा कि आमतौर पर सिग्नल प्रोसेसिंग ग्रंथों में परिभाषित किया गया है:

c_{av}[k] = sum_n a[n+k] * conj(v[n])

एक और वी अनुक्रम शून्य-गद्देदार होने के साथ जहां आवश्यक और संयुग्मित हो रहा है।

पैरामीटर:

a, v : array_like

इनपुट अनुक्रम।

मोड : {'वैध', 'समान', 'पूर्ण'}, वैकल्पिक

डॉक्स्ट्रिंग को convolve समारोह का संदर्भ लें। ध्यान दें कि डिफॉल्ट के विपरीत, डिफ़ॉल्ट 'मान्य' है, जो 'पूर्ण' का उपयोग करता है।

old_behavior : बूल

NumPy 1.10 में old_behavior को हटा दिया गया था। यदि आपको पुराने व्यवहार की आवश्यकता है, तो multiarray.correlate उपयोग करें।

यह दिखाता है:

बाहर : ndarray

a और v क्रॉस-सहसंबंध को अलग करें।

यह भी देखें

convolve
असतत, दो एक आयामी अनुक्रमों के रैखिक संकेतन।
multiarray.correlate
पुराना, कोई संयुग्म नहीं, सहसंबंध का संस्करण।

टिप्पणियाँ

ऊपर सहसंबंध की परिभाषा अद्वितीय नहीं है और कभी-कभी सहसंबंध को अलग तरीके से परिभाषित किया जा सकता है। एक और आम परिभाषा है:

c'_{av}[k] = sum_n a[n] conj(v[n+k])

जो c_{av}[k] से c'_{av}[k] = c_{av}[-k]

उदाहरण

>>> 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])