En este artículo, veremos el enfoque para devolver la convolución lineal discreta de dos secuencias unidimensionales y llegar a donde se superponen en Python .
Numpy np.convolve()
Para devolver la convolución lineal discreta de dos secuencias unidimensionales, el usuario debe llamar al método numpy.convolve() de la biblioteca Numpy en Python. El operador de convolución se ve a menudo en el procesamiento de señales, donde modela el efecto de una secuencia lineal. sistema invariante en el tiempo en una señal. En la teoría de la probabilidad, la suma de dos variables aleatorias independientes se distribuye de acuerdo con la convolución de sus distribuciones individuales.
Sintaxis: numpy.convolve(a, v, modo=”)
Parámetros:
- a : Primera array de entrada unidimensional.
- v : Segunda array de entrada unidimensional.
- modo {‘completo’, ‘válido’, ‘igual’}:
- full ‘: Por defecto, el modo es ‘full’. Esto devuelve la convolución en cada punto de superposición, con una forma de salida de (N+M-1,). En los puntos finales de la convolución, las señales no se superponen por completo y pueden verse efectos de contorno.
- mismo ‘: el modo ‘igual’ devuelve una salida de longitud máxima (M, N). Los efectos de frontera aún son visibles.
- ‘válido ‘: el modo ‘válido’ devuelve una salida de longitud máxima (M, N) – mínima (M, N) + 1. El producto de convolución solo se proporciona para los puntos donde las señales se superponen por completo. Los valores fuera del límite de la señal no tienen efecto.
Devuelve: out: Convolución lineal discreta de a y v.
Ejemplo:
En este ejemplo, creamos dos arreglos de 5 puntos de datos cada uno, luego simplemente obtuvimos la dimensión y la forma de cada arreglo, además con el uso del método np.convolve() pasamos ambos arreglos con el valor de modo a por defecto como parámetros para devolver la convolución lineal discreta de dos secuencias unidimensionales y llegar a donde se superponen en python.
Python3
import numpy as np # Creating two numpy One-Dimensional # array using the array() method arr1 = np.array([1, 2, 3, 4, 5]) arr2 = np.array([0, 0.5, 1, 1.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))
Producción:
Array1:-> [1 2 3 4 5] Array2:-> [0. 0.5 1. 1.5] Dimensions of Array1:-> 1 Dimensions of Array2:-> 1 Shape of Array1:-> (5,) Shape of Array2:-> (4,) Result:-> [ 0. 0.5 2. 5. 8. 11. 11. 7.5]
Ejemplo:
En este ejemplo, creamos dos arreglos de 5 puntos de datos cada uno, luego simplemente obtuvimos la dimensión y la forma de cada arreglo, además con el uso del método np.convolve() pasamos ambos arreglos con el valor de modo a válidos como parámetros para devolver la convolución lineal discreta de dos secuencias unidimensionales y llegar a donde se superponen en python.
Python3
import numpy as np # Creating two numpy One-Dimensional # array using the array() method arr1 = np.array([1, 2, 3, 4, 5]) arr2 = np.array([0, 0.5, 1, 1.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'))
Producción:
Array1:-> [1 2 3 4 5] Array2:-> [0. 0.5 1. 1.5] Dimensions of Array1:-> 1 Dimensions of Array2:-> 1 Shape of Array1:-> (5,) Shape of Array2:-> (4,) Result:-> [5. 8.]
Publicación traducida automáticamente
Artículo escrito por geetansh044 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA