conv#
Purpose#
Computes the convolution of two vectors.
Format#
- c = conv(b, x, f, l)#
- Parameters:
- b (Nx1 vector) 
- x (Lx1 vector) 
- f (scalar) – the first convolution to compute. 
- l (scalar) – the last convolution to compute. 
 
- Returns:
- c (Qx1 result) – - where: \(Q = (l - f + 1)\) - If f is 0, the first to the l’th convolutions are computed. If l is 0, the f’th to the last convolutions are computed. If f and l are both zero, all the convolutions are computed. 
 
Examples#
Full convolution#
The following example is equivalent to the following polynomial multiplication \((x^2 + 3)(2x + 7) = 2x^3 + 7x^2 + 6x + 21\)
// Vectors
u = {1, 0, 3};
v = {2, 7};
/*
** Set f, l equal to zero and
** all the convolutions are computed
*/
print conv(u, v, 0, 0);
After the code the following is printed to the screen:
 2.0000
 7.0000
 6.0000
21.0000
Partial convolution#
// Vectors
u = {1, 0, 3};
v = {2, 7};
/*
** In this case we
** set f =1 and l =2 to see just the
** first and second convolutions
*/
print conv(u, v, 1, 2);
After the code the following is printed to the screen:
2.0000
7.0000
Remarks#
If x and b are vectors of polynomial coefficients, this is the same as multiplying the two polynomials.
See also
