Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ส่งคืนการบิดเชิงเส้นแบบไม่ต่อเนื่องของสองลำดับหนึ่งมิติในPython


หากต้องการส่งคืนการบิดเชิงเส้นแบบไม่ต่อเนื่องของลำดับหนึ่งมิติสองลำดับ ให้ใช้วิธี thenumpy.convolve() ใน Python Numpy

ตัวดำเนินการ convolution มักจะเห็นในการประมวลผลสัญญาณ ซึ่งจะจำลองผลกระทบของระบบเชิงเส้นตรงเวลาบนสัญญาณ ในทฤษฎีความน่าจะเป็น ผลรวมของตัวแปรสุ่มอิสระสองตัวถูกกระจายตามการบิดของการแจกแจงแต่ละตัว ถ้า v ยาวกว่า a อาร์เรย์จะถูกสลับก่อนการคำนวณ เมธอดจะคืนค่า Discrete, linearconvolution ของ a และ v พารามิเตอร์ที่ 1 คือ a เป็นอาร์เรย์อินพุตแบบหนึ่งมิติแรก พารามิเตอร์ที่ 2 v คืออาร์เรย์อินพุตหนึ่งมิติที่สอง พารามิเตอร์ที่ 3 โหมดเป็นทางเลือก มีค่าเต็ม 'ถูกต้อง' 'เหมือนกัน'

ขั้นตอน

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

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

ตัวอย่าง

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

ผลลัพธ์

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]