Python Numpy卷积:m的范围

Python Numpy卷积:m的范围,python,numpy,scipy,Python,Numpy,Scipy,我正在尝试进行离散卷积,如: 但是,我希望m是从0到n,而不是从-inf到+inf。(也就是说,f和g是两个长度相同的数组,我想在执行卷积运算时遍历这两个数组) 有什么简单的方法可以做到这一点吗?谢谢 我似乎错误地使用了关键字“mode”。它应该是以下内容: import numpy as np array1 = np.random.rand(100) array2 = np.random.rand(100) conv = np.convolve(array1, array2, mode='

我正在尝试进行离散卷积,如:

但是,我希望m是从0到n,而不是从-inf到+inf。(也就是说,f和g是两个长度相同的数组,我想在执行卷积运算时遍历这两个数组)


有什么简单的方法可以做到这一点吗?谢谢

我似乎错误地使用了关键字“mode”。它应该是以下内容:

import numpy as np

array1 = np.random.rand(100)
array2 = np.random.rand(100)
conv = np.convolve(array1, array2, mode='full')[:100]

对我来说,听起来相当于给定的表达式。您能否提供一个默认行为不符合您要求的示例?(包括实际输出和期望输出。)@user2357112在我看来,它们在
n
中并不等价。我遗漏了什么明显的东西吗?@askewchan:m<0的术语,f[m]的术语是0。对于带有
m>n
的术语,
g[n-m]
术语为0。@user2357112,好的,
n
的使用不一致。它要么是和的上限,要么是数组中的索引。我把它解释为只有前者,你才是后者。@askewchan:我觉得两者都一样。位置n处的输出计算总和为n。
import numpy as np

array1 = np.random.rand(100)
array2 = np.random.rand(100)
conv = np.convolve(array1, array2, mode='full')[:100]