在 Python 中返回两个一维序列的离散线性卷积(带模式)
pythonnumpyserver side programmingprogramming更新于 2024/5/1 16:12:17
要返回两个一维序列的离散线性卷积,请使用 Python Numpy 中的 numpy.convolve() 方法。卷积运算符经常出现在信号处理中,它模拟线性时不变系统对信号的影响。在概率论中,两个独立随机变量的总和根据它们各自分布的卷积而分布。如果 v 长于 a,则在计算之前交换数组。
该方法返回 a 和 v 的离散线性卷积。第一个参数 a (N,) 是第一个一维输入数组。第二个参数 v (M,) 是第二个一维输入数组。第三个参数 mode 是可选的,其值为"full"、"valid"、"same"。模式"valid"返回长度为 max(M, N) - min(M, N) + 1 的输出。卷积乘积仅针对信号完全重叠的点给出。信号边界外的值没有影响。
默认模式为"full"。这将返回每个重叠点的卷积,输出形状为 (N+M-1,)。在卷积的端点处,信号不完全重叠,可能会看到边界效应。
步骤
首先,导入所需的库 −
import numpy as np
使用array()方法创建两个numpy一维数组 −
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)
要返回两个一维序列的离散线性卷积,请使用 Python Numpy − 中的 numpy.convolve() 方法
print("\n结果....\n",np.convolve(arr1, arr2, mode = 'full' ))
示例
import numpy as np
# 使用 array() 方法创建两个 numpy 一维数组
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)
# 要返回两个一维序列的离散线性卷积,请使用 Python Numpy 中的 numpy.convolve() 方法
print("\n结果....\n",np.convolve(arr1, arr2, mode = 'full' ))
输出
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,) 结果.... [0. 1. 2.5 4. 1.5]
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

