Documentation Center

  • Trial Software
  • Product Updates


Convolution and polynomial multiplication


w = conv(u,v)
w = conv(...,'shape')


w = conv(u,v) convolves vectors u and v. Algebraically, convolution is the same operation as multiplying the polynomials whose coefficients are the elements of u and v.

w = conv(...,'shape') returns a subsection of the convolution, as specified by the shape parameter:


Returns the full convolution (default).


Returns the central part of the convolution of the same size as u.


Returns only those parts of the convolution that are computed without the zero-padded edges. Using this option, length(w) is max(length(u)-max(0,length(v)-1),0).


Let m = length(u) and n = length(v) . Then w is the vector of length m+n-1 whose kth element is

The sum is over all the values of j which lead to legal subscripts for u(j) and v(k+1-j), specifically j = max(1,k+1-n): min(k,m). When m = n, this gives

w(1) = u(1)*v(1)
w(2) = u(1)*v(2)+u(2)*v(1)
w(3) = u(1)*v(3)+u(2)*v(2)+u(3)*v(1)
w(n) = u(1)*v(n)+u(2)*v(n-1)+ ... +u(n)*v(1)
w(2*n-1) = u(n)*v(n)

See Also

| | | | |

Was this topic helpful?