在Python中对两个一维序列进行离散线性卷积并获得它们重叠的地方
在这篇文章中,我们将研究返回两个一维序列的离散线性卷积的方法,并在Python中得到它们重叠的地方。
Numpy np.convolve()
为了返回两个一维序列的离散线性卷积,用户需要调用Python中Numpy库的numpy.convolve()方法。卷积算子经常出现在信号处理中,它模拟线性时变系统对信号的影响。在概率论中,两个独立随机变量的总和是根据它们各自分布的卷积来分布的。
语法: numpy.convolve(a, v, mode=”)
参数:
- a : 第一个一维输入矩阵。
- v : 第二个一维输入矩阵。
- mode{‘full ‘、’valid’、’same’}。
- full ‘: 默认情况下,模式是’full’。这将返回每个重叠点的卷积,其输出形状为(N+M-1,)。在卷积的端点,信号并不完全重叠,可能会出现边界效应。
- same’: 模式’相同’返回长度为max(M, N)的输出。边界效应仍然可见。
- ‘valid’:模式’有效’返回长度为max(M, N) – min(M, N) + 1的输出。卷积只对信号完全重叠的点给出。信号边界以外的数值没有影响。
返回:out: a和v的离散、线性卷积。
示例:
在这个例子中,我们创建了两个各有5个数据点的数组,然后我们简单地得到了每个数组的尺寸和形状,进一步使用np.convolve()方法,我们将两个数组的模式值作为参数传递给默认值,以返回两个一维序列的离散线性卷积,并在python中得到它们重叠的地方。
输出:
示例:
在这个例子中,我们创建了两个各有5个数据点的数组,然后我们简单地得到了每个数组的维度和形状,进一步使用np.convolve()方法,我们将两个数组的模式值作为参数传递给有效,以返回两个一维序列的离散线性卷积,并在python中得到它们重叠的地方。
输出: