首页 > 试题广场 > 一维离散卷积的定义是: 给定一维数组 a
[单选题]
一维离散卷积的定义是:

给定一维数组 a = [1, 2, 3], v = [4, 5, 6],它们的离散卷积结果是:()

  • [6,12, 32, 27, 12]
  • [4, 13, 28, 24, 18]
  • [4, 13, 28, 27, 18]
  • [6, 12, 32, 24, 12]
方法一:手算(当然也可以自己写个小的for循环code)
/*
当n==0的时候,
a[0]*v[0-0]=a[0]*v[0]=4
m+1,a[1]*v[-1]越界,只有4。
当n==1的时候,
a[0]*v[1-0]=1*5=5
m+1,a[1]*v[1-1]=2*4=8
m+1越界,所以结果是5+8=13
当n==2的时候,
a[0]*v[2-0]=1*6=6
m+1,a[1]*v[2-1]=2*5=10,
m+1,a[2]*v[2-2]=3*4=12,
m+1越界,所以结果是6+10+12=28。
当n==3的时候,
a[0]*v[3-0]越界(但是下面还是有计算的可能,所以可以继续算)
m+1,a[1]*v[3-1]=2*6=12,
m+1,a[2]*v[3-2]=3*5=15,
m+1,越界。
所以结果是12+15=27
当n==4的时候
a[0]*v[4-0]越界
m+1,a[1]*v[4-1]越界
m+1,a[2]*v[4-2]=3*6=18
m+1,越界,所以结果是18
所以答案是C
*/

方法二:numpy自带的卷积运算函数。
使用numpy自带的函数:

发表于 2019-04-13 14:57:00 回复(1)
分别计算m为0,1,2,3,4时对应的结果,例如当m=4时,标号和为4的只有v[2]和a[2],乘积为3*6=18;当m=3时,标号和为3的组合可以有:v[2]和a[1],v[1]和a[2],和为6*2+3*5=27
发表于 2019-04-09 21:47:47 回复(0)
1.旋转;2.滑窗求和;
发表于 2019-05-30 21:03:09 回复(0)
旋转+带权求和。
发表于 2019-04-15 09:53:00 回复(0)
for n in range(5):
    带入公式,得结果
以n=3为例,v[n-m]里,下标只能是0,1,2(v下标最大只能取2),于是结果为:v[1]a[2]+v[2]a[1]=27
发表于 2019-04-09 16:53:59 回复(0)