conv([1 1], [1 2]) % 输出 [1 3 2](对应 (x+1)(x+2) = x²+3x+2)
conv([1 1], [1 2])
是离散卷积运算,其结果 [1 3 2]
恰好对应多项式乘法 (x+1)(x+2)=x2+3x+2 的系数。这一现象体现了卷积与多项式乘法的内在联系 ——两个序列的卷积等价于它们对应多项式的乘积系数。
以下是详细计算过程:
步骤 1:明确输入序列
- 输入序列 f=[1,1](可视为多项式 f(x)=1⋅x1+1⋅x0 的系数)
- 卷积核 g=[1,2](可视为多项式 g(x)=1⋅x1+2⋅x0 的系数)
步骤 2:离散卷积的核心操作(翻转→平移→相乘→求和)
离散卷积公式:h[n]=∑kf[k]⋅g[n−k],其中 k 是索引,n 是结果的索引。
① 翻转卷积核
将卷积核 g 沿索引翻转(左右颠倒),得到 gflip=[2,1]。
② 平移卷积核并计算每个位置的结果
卷积结果的长度为 输入长度 + 卷积核长度 - 1,即 2+2−1=3,因此结果有 3 个元素(索引 n=0,1,2)。
当 n=0 时:翻转后的卷积核 [2,1] 左移,仅与输入序列的第一个元素对齐:h[0]=f[0]⋅gflip[0]=1⋅1=1(注:此处实际是 g[0−0]=g[0]=1,因翻转后位置对应关系简化)
当 n=1 时:翻转后的卷积核右移 1 位,与输入序列的两个元素对齐:h[1]=f[0]⋅gflip[1]+f[1]⋅gflip[0]=1⋅2+1⋅1=2+1=3
当 n=2 时:翻转后的卷积核右移 2 位,仅与输入序列的最后一个元素对齐:h[2]=f[1]⋅gflip[1]=1⋅2=2
步骤 3:最终结果
卷积结果为 h=[1,3,2],与多项式乘法 (x+1)(x+2)=x2+3x+2 的系数完全一致。
为什么卷积等价于多项式乘法?
- 序列的每个元素对应多项式的系数(按次数从低到高排列);
- 卷积的 “加权求和” 本质上是多项式中同次项系数的合并(如 x1 项的系数由 1⋅2+1⋅1=3 得到)。
这一特性使得卷积在信号处理、多项式计算等领域有重要应用。