[R] Convolution confusion:

Alex Hofmann ahah at gmx.net
Wed May 18 15:47:16 CEST 2011


Hi,

I'm new to R, and I'm a bit confused with the "convolve()" function.
If I do:
x<-c(1, 2, 3)
convolve(x, rev(x), TRUE, "open")
= 9 12 10 4 1

But I expected: 3 8 14 8 3 (like in Octave/MATLAB - conv(x, reverse(x)) )

3 2 1 x 1 2 3
= 3 2 1
     0 6 4 2
     0 0 9 6 3
= 3 8 14 8 3

The thing is, that "convolve(x, x, TRUE, "open")" works.
For me it feels very confusing, that convolution does the reverse itself 
but the help suggest to reverse it again.

The help file says: "Note that the usual definition of convolution of 
two sequences x and y is given by convolve(x, rev(y), type = "o")."

Thanks for your help,

Alex



More information about the R-help mailing list