Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में numpy.convolve() से 1D अनुक्रमों का असतत रैखिक कन्वोल्यूशन (mode='valid')


परिचय

numpy.convolve() दो एक-आयामी अनुक्रमों का असतत रैखिक कन्वोल्यूशन लौटाता है। mode='valid' केवल उन्हीं बिंदुओं पर परिणाम देता है जहां सिग्नल पूरी तरह से ओवरलैप होते हैं।

पैरामीटर

  • a: पहला 1D इनपुट सरणी
  • v: दूसरा 1D इनपुट सरणी
  • mode: 'full' (डिफ़ॉल्ट), 'valid', 'same'

Mode 'valid' व्यवहार

आउटपुट लंबाई: max(M, N) - min(M, N) + 1

केवल पूर्ण ओवरलैप वाले बिंदुओं के लिए कन्वोल्यूशन उत्पाद दिया जाता है।

चरण

1. लाइब्रेरी आयात करें

import numpy as np

4. दो 1D सरणियाँ बनाएं

arr1 = np.array([1, 2, 3])
arr2 = np.array([0, 1, 0.5])

5. सरणियाँ प्रदर्शित करें

print("सरणी1...\n", arr1)
print("\nसरणी2...\n", arr2)

6. आयाम और आकार जांचें

print("\nसरणी1 के आयाम...\n", arr1.ndim)
print("\nसरणी2 के आयाम...\n", arr2.ndim)
print("\nसरणी1 का आकार...\n", arr1.shape)
print("\nसरणी2 का आकार...\n", arr2.shape)

7. 'valid' मोड में कन्वोल्यूशन

print("\nपरिणाम (valid)...\n", np.convolve(arr1, arr2, mode='valid'))

पूर्ण उदाहरण

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([0, 1, 0.5])

print("सरणी1...\n", arr1)
print("\nसरणी2...\n", arr2)
print("\nसरणी1 के आयाम...\n", arr1.ndim)
print("\nसरणी2 के आयाम...\n", arr2.ndim)
print("\nसरणी1 का आकार...\n", arr1.shape)
print("\nसरणी2 का आकार...\n", arr2.shape)

# Valid मोड: केवल पूर्ण ओवरलैप
print("\nपरिणाम....\n", np.convolve(arr1, arr2, mode='valid'))

आउटपुट

सरणी1...
 [1 2 3]
सरणी2...
 [0.  1.  0.5]
सरणी1 के आयाम...
 1
सरणी2 के आयाम...
 1
सरणी1 का आकार...
 (3,)
सरणी2 का आकार...
 (3,)
परिणाम....
 [2.5]

गणना विवरण

दोनों सरणियों की लंबाई 3 है। Valid मोड में आउटपुट लंबाई = 3 - 3 + 1 = 1

केवल पूर्ण ओवरलैप स्थिति (ऑफसेट 0):

(1×0) + (2×1) + (3×0.5) = 0 + 2 + 1.5 = 2.5

  1. - Python में दो मल्टी-डायमेंशनल ऐरे का इनर प्रोडक्ट निकालें

    NumPy का numpy.inner() फंक्शन दो मल्टी-डायमेंशनल ऐरे का इनर प्रोडक्ट निकालता है। 1D के लिए डॉट प्रोडक्ट, उच्च आयामों के लिए अंतिम अक्ष पर सम-गुणनफल। सिंटैक्स numpy.inner(a, b) a, b: इनपुट ऐरे। नॉन-स्केलर होने पर अंतिम आयाम समान होना चाहिए। वापसी: आकार a.shape[:-1] + b.shape[:-1] का ऐरे। 2D

  1. - पायथन में दो वैक्टर (सरणियों) का क्रॉस प्रोडक्ट लौटाना

    दो वैक्टर का क्रॉस प्रोडक्ट निकालने के लिए, पायथन NumPy में numpy.cross() विधि का उपयोग करें। यह विधि c लौटाती है, जो वैक्टर क्रॉस प्रोडक्ट होता है। पहला पैरामीटर a पहले वैक्टर(ओं) के घटक हैं। दूसरा पैरामीटर b दूसरे वैक्टर(ओं) के घटक हैं। तीसरा पैरामीटर axisa a का अक्ष है जो वैक्टर(ओं) को परिभाषित क

  1. - पायथन में 4D और 3D आयाम वाली सरणियों का क्रोनेकर प्रोडक्ट प्राप्त करना

    4D और 3D आयाम वाली सरणी का क्रोनेकर प्रोडक्ट प्राप्त करने के लिए, पायथन NumPy में numpy.kron() विधि का उपयोग करें। क्रोनेकर प्रोडक्ट की गणना करें, जो दूसरी सरणी के ब्लॉकों से बनी एक समग्र सरणी है जिसे पहली सरणी द्वारा स्केल किया गया है। यह फ़ंक्शन मानता है कि a और b के आयामों की संख्या समान है, यदि