কম্পিউটার

পাইথনে মোড সহ দুটি এক-মাত্রিক অনুক্রমের বিচ্ছিন্ন রৈখিক আবর্তন ফিরিয়ে দিন


দুটি এক-মাত্রিক সিকোয়েন্সের বিচ্ছিন্ন রৈখিক আবর্তন ফিরিয়ে আনতে, পাইথন নম্পিতে thenumpy.convolve() পদ্ধতি ব্যবহার করুন। কনভোলিউশন অপারেটরকে প্রায়শই সিগন্যাল প্রসেসিংয়ে দেখা যায়, যেখানে এটি একটি সিগন্যালে একটি লিনিয়ার টাইম-ইনভেরিয়েন্ট সিস্টেমের প্রভাবকে মডেল করে। সম্ভাব্যতা তত্ত্বে, দুটি স্বাধীন র্যান্ডম ভেরিয়েবলের যোগফল তাদের পৃথক বণ্টনের পরিবর্তন অনুসারে বিতরণ করা হয়। যদি v a এর থেকে দীর্ঘ হয়, তাহলে গণনার আগে অ্যারেগুলি অদলবদল করা হয়।

পদ্ধতিটি a এবং v এর বিচ্ছিন্ন, রৈখিক আবর্তন প্রদান করে। ১ম প্যারামিটার, a (N,) হল প্রথম এক-মাত্রিক ইনপুট অ্যারে। 2য় প্যারামিটার, v (M,) হল দ্বিতীয় এক-মাত্রিক ইনপুট অ্যারে৷ 3য় প্যারামিটার, মোড ঐচ্ছিক, মান পূর্ণ', 'বৈধ', 'একই'। দৈর্ঘ্য সর্বাধিক (M, N) - min(M, N) + 1 এর মোড 'বৈধ' রিটার্ন আউটপুট। কনভোল্যুশন প্রোডাক্ট শুধুমাত্র সেই পয়েন্টগুলির জন্য দেওয়া হয় যেখানে সিগন্যালগুলি সম্পূর্ণভাবে ওভারল্যাপ হয়। সংকেত সীমানার বাইরের মানগুলির কোন প্রভাব নেই৷

ডিফল্ট মোড 'পূর্ণ'। এটি ওভারল্যাপের প্রতিটি বিন্দুতে একটি আউটপুট শেপ (N+M-1,) সহ কনভল্যুশন প্রদান করে। আবর্তনের শেষ বিন্দুতে, সংকেতগুলি সম্পূর্ণরূপে ওভারল্যাপ করে না, এবং সীমানা প্রভাব দেখা যেতে পারে৷

পদক্ষেপ

প্রথমে, প্রয়োজনীয় লাইব্রেরিগুলি আমদানি করুন -

import numpy as np

array() মেথড −

ব্যবহার করে দুটি নম্পি ওয়ান-ডাইমেনশনাল অ্যারে তৈরি করা হচ্ছে
arr1 = np.array([1, 2, 3])
arr2 = np.array([0, 1, 0.5])

অ্যারে প্রদর্শন করুন −

print("Array1...\n",arr1)
print("\nArray2...\n",arr2)

উভয় অ্যারের মাত্রা পরীক্ষা করুন −

print("\nDimensions of Array1...\n",arr1.ndim)
print("\nDimensions of Array2...\n",arr2.ndim)

উভয় অ্যারের আকৃতি পরীক্ষা করুন −

print("\nShape of Array1...\n",arr1.shape)
print("\nShape of Array2...\n",arr2.shape)

দুটি এক-মাত্রিক অনুক্রমের বিচ্ছিন্ন রৈখিক আবর্তন ফিরিয়ে আনতে, পাইথন নম্পিতে thenumpy.convolve() পদ্ধতি ব্যবহার করুন −

print("\nResult....\n",np.convolve(arr1, arr2, mode = 'full' ))

উদাহরণ

import numpy as np

# Creating two numpy One-Dimensional array using the array() method
arr1 = np.array([1, 2, 3])
arr2 = np.array([0, 1, 0.5])

# Display the arrays
print("Array1...\n",arr1)
print("\nArray2...\n",arr2)

# Check the Dimensions of both the arrays
print("\nDimensions of Array1...\n",arr1.ndim)
print("\nDimensions of Array2...\n",arr2.ndim)

# Check the Shape of both the arrays
print("\nShape of Array1...\n",arr1.shape)
print("\nShape of Array2...\n",arr2.shape)

# To return the discrete linear convolution of two one-dimensional sequences, use the numpy.convolve() method in Python Numpy
print("\nResult....\n",np.convolve(arr1, arr2, mode = 'full' ))

আউটপুট

Array1...
[1 2 3]

Array2...
[0. 1. 0.5]

Dimensions of Array1...
1

Dimensions of Array2...
1

Shape of Array1...
(3,)

Shape of Array2...
(3,)

Result....
[0. 1. 2.5 4. 1.5]

  1. পাইথনে দুটি বহুমাত্রিক অ্যারের অভ্যন্তরীণ পণ্য পান

  2. পাইথনে দুটি (অ্যারের) ভেক্টরের ক্রস পণ্য ফেরত দিন

  3. পাইথনে রৈখিক বীজগণিতের চোলেস্কি পচন ফিরিয়ে দিন

  4. Python Pandas - সূচক মানগুলির মেমরি ব্যবহার ফেরত দিন