如何在Matlab中计算1D卷积?

时间:2018-01-15 07:53:02

标签: matlab conv-neural-network convolution

假设我有2个向量,数据向量:

x=[2 1 2 1]

和权重向量

y=[1 2 3]

我希望Matlab在1D神经网络意义上对这些向量进行卷积,即将y作为x的窗口运行并计算卷积:

enter image description here

enter image description here

如果我运行built-in function conv,那么我会

>> conv(x,y)
ans =
     2     5    10     8     8     3

在中间包含正确的值,但在边距处有未知的东西。 conv函数的手册与我想要的完全不同。

如果我跑

>> conv(x,y, 'same')
ans =
     5    10     8     8

我也有点奇怪。

1 个答案:

答案 0 :(得分:3)

通过指定conv的3 rd 输入,您非常接近解决它,但您应该使用'valid'代替'same'

x = [2 1 2 1];
y = [1 2 3];
conv(x,y,'valid')

ans =

    10     8