परिचय
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