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

पायथन में मोड के साथ दो एक-आयामी अनुक्रमों का असतत रैखिक संकलन प्राप्त करें

परिचय

पायथन में NumPy का उपयोग करके दो एक-आयामी अनुक्रमों का असतत रैखिक संकलन प्राप्त करने के लिए numpy.convolve() विधि का उपयोग करें। संकलन ऑपरेटर अक्सर सिग्नल प्रोसेसिंग में देखा जाता है, जहां यह एक सिग्नल पर रैखिक समय-अपरिवर्तनीय प्रणाली के प्रभाव को मॉडल करता है। संभाव्यता सिद्धांत में, दो स्वतंत्र यादृच्छिक चरों का योग उनके व्यक्तिगत वितरणों के संकलन के अनुसार वितरित होता है। यदि v, a से लंबा है, तो गणना से पहले सरणियों को स्वैप किया जाता है।

यह विधि a और v का असतत, रैखिक संकलन लौटाती है। पहला पैरामीटर a (N,) पहली एक-आयामी इनपुट सरणी है। दूसरा पैरामीटर v (M,) दूसरी एक-आयामी इनपुट सरणी है। तीसरा पैरामीटर mode वैकल्पिक है, जिसके मान 'full', 'valid', 'same' हैं। मोड 'valid' max(M, N) - min(M, N) + 1 की लंबाई का आउटपुट लौटाता है। संकलन उत्पाद केवल उन बिंदुओं के लिए दिया जाता है जहां सिग्नल पूरी तरह से ओवरलैप करते हैं। सिग्नल सीमा के बाहर के मानों का कोई प्रभाव नहीं पड़ता।

डिफ़ॉल्ट मोड 'full' है। यह ओवरलैप के प्रत्येक बिंदु पर संकलन लौटाता है, जिसका आउटपुट आकार (N+M-1,) होता है। संकलन के अंत-बिंदुओं पर, सिग्नल पूरी तरह से ओवरलैप नहीं करते हैं, और सीमा प्रभाव देखे जा सकते हैं।

चरण

आवश्यक लाइब्रेरी आयात करें

import numpy as np

array() विधि का उपयोग करके दो numpy एक-आयामी सरणियाँ बनाएं

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)

असतत रैखिक संकलन प्राप्त करें (mode='full')

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

पूर्ण उदाहरण

import numpy as np

# array() विधि का उपयोग करके दो numpy एक-आयामी सरणियाँ बनाएं
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)

# दो एक-आयामी अनुक्रमों का असतत रैखिक संकलन प्राप्त करें
print("\nपरिणाम....\n", np.convolve(arr1, arr2, mode='full'))

आउटपुट

सरणी1... 
 [1 2 3]
सरणी2... 
 [0. 1. 0.5]
सरणी1 के आयाम... 
 1
सरणी2 के आयाम... 
 1
सरणी1 का आकार... 
 (3,)
सरणी2 का आकार... 
 (3,)
परिणाम.... 
 [0.  1.  2.5  4.  1.5]
  1. - पायथन में दो वैक्टर (सरणियों) का क्रॉस प्रोडक्ट लौटाना

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

  1. - पायथन में रैखिक बीजगणित में कोलेस्की विघटन लौटाना

    कोलेस्की विघटन लौटाने के लिए, numpy.linalg.cholesky() विधि का उपयोग करें। वर्ग मैट्रिक्स a का कोलेस्की विघटन, L * L.H लौटाएं, जहां L निचला-त्रिकोणीय है और .H संयुग्म ट्रांसपोज ऑपरेटर है। a हर्मिटियन और पॉजिटिव-डेफिनिट होना चाहिए। यह जांचने के लिए कोई जांच नहीं की जाती कि a हर्मिटियन है या नहीं। इसके

  1. - Python Pandas - इंडेक्स मानों की मेमोरी उपयोग लौटाएं

    परिचय पैंडास इंडेक्स के मानों की मेमोरी उपयोग (बाइट्स में) प्राप्त करने के लिए index.memory_usage() मेथड का उपयोग करें। आवश्यक लाइब्रेरी आयात करें import pandas as pd इंडेक्स बनाएं index = pd.Index([15, 25, 35, 45, 55]) इंडेक्स प्रदर्शित करें print(पैंडास इंडेक्स...\n, index) मेमोरी उपयोग प्राप्