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à đến vị trí chúng chồng lên nhau 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ố thứ nhất, a là mảng đầu vào một chiều đầ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ế độ ‘hợp lệ’ trả về đầu ra có độ dài tối đa (M, N) - tối thiểu (M, N) + 1. Tích chập chỉ được chấp nhận cho những điểm mà tín hiệu chồng chéo hoàn toàn. Các giá trị bên ngoài ranh giới tín hiệu không bị ảnh hưởng.

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 mảng một chiều hai chiều 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 () trong Python Numpy -

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

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

Đầ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....
[2.5]