Computer >> Máy Tính >  >> Lập trình >> Python

Trả về tích chập tuyến tính rời rạc của hai chuỗi một chiều và trả về giá trị giữa trong Python

Để trả về tích chập tuyến tính rời rạc của hai chuỗi một chiều, hãy sử dụng phương thức thenumpy.convolve () trong Python Numpy. Toán tử tích chập thường được thấy trong quá trình xử lý tín hiệu, trong đó nó mô hình hóa ảnh hưởng của một hệ thống bất biến thời gian tuyến tính lên một tín hiệu. Trong lý thuyết xác suất, tổng của hai biến ngẫu nhiên độc lập được phân phối theo tích chập của các phân phối riêng lẻ của chúng. Nếu v dài hơn a, các mảng sẽ được hoán đổi trước khi tính toán.

Phương thức trả về tích chập tuyến tính, rời rạc của a và v. Tham số đầu tiên, a là mảng onedimensionalinput đầu tiên. Tham số thứ 2, v là mảng đầu vào một chiều thứ hai. Tham số thứ 3, chế độ là tùy chọn, với các giá trị đầy đủ ',' hợp lệ ',' giống nhau '. Chế độ ‘giống nhau’ trả về đầu ra của cường độ tối đa (M, N). Các hiệu ứng ranh giới vẫn hiển thị.

Các bước

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import numpy as np

Tạo hai mảng một chiều vô cùng phức tạp bằng cách sử dụng phương thức array () -

arr1 = np.array([1, 2, 3])
arr2 = np.array([0, 1, 0.5])

Hiển thị các mảng -

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

Kiểm tra Kích thước của cả hai mảng -

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

Kiểm tra Hình dạng của cả hai mảng -

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

Để trả về tích chập tuyến tính rời rạc của hai chuỗi một chiều, hãy sử dụng phương thức thenumpy.convolve () -

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

Ví dụ

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

Đầu ra

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. ]