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

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


หากต้องการส่งคืนการบิดเชิงเส้นแบบไม่ต่อเนื่องของลำดับหนึ่งมิติสองลำดับ ให้ใช้เมธอด thenumpy.convolve() ใน Python Numpy ตัวดำเนินการบิดมักจะเห็นในการประมวลผลสัญญาณ ซึ่งจำลองผลกระทบของระบบไม่แปรผันตามเวลาเชิงเส้นบนสัญญาณ ในทฤษฎีความน่าจะเป็น ผลรวมของตัวแปรสุ่มอิสระสองตัวจะถูกกระจายตามการบิดของการแจกแจงแต่ละตัว ถ้า v ยาวกว่า a อาร์เรย์จะถูกสลับก่อนการคำนวณ

วิธีการส่งกลับ Convolution เชิงเส้นแบบไม่ต่อเนื่องของ a และ v พารามิเตอร์ที่ 1 a คืออาร์เรย์อินพุตหนึ่งมิติแรก พารามิเตอร์ตัวที่ 2 v คืออาร์เรย์อินพุตแบบหนึ่งมิติที่สอง พารามิเตอร์ที่ 3 โหมดเป็นทางเลือก โดยมีค่าเต็ม', 'ถูกต้อง', 'เหมือนกัน' โหมด 'เหมือนกัน' จะคืนค่าเอาต์พุตของความยาวสูงสุด (M, N) เอฟเฟกต์ขอบเขตยังคงมองเห็นได้

ขั้นตอน

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

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 = 'same' ))

ตัวอย่าง

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 = 'same' ))

ผลลัพธ์

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....
[1. 2.5 4. ]