CONV2 CONV2 Matrix Convolution

Usage

The conv2 function performs a two-dimensional convolution of
matrix arguments.  The syntax for its use is

    Z = conv2(X,Y)

which performs the full 2-D convolution of X and Y.  If the 
input matrices are of size [xm,xn] and [ym,yn] respectively,
then the output is of size [xm+ym-1,xn+yn-1].  Another form is

    Z = conv2(hcol,hrow,X)

where hcol and hrow are vectors.  In this form, conv2
first convolves Y along the columns with hcol, and then 
convolves Y along the rows with hrow.  This is equivalent
to conv2(hcol(:)*hrow(:)',Y).

You can also provide an optional shape argument to conv2
via either

    Z = conv2(X,Y,'shape')
    Z = conv2(hcol,hrow,X,'shape')

where shape is one of the following strings
  -  'full' - compute the full convolution result - this is the default if no shape argument is provided.

  -  'same' - returns the central part of the result that is the same size as X.

  -  'valid' - returns the portion of the convolution that is computed without the zero-padded edges.  In this situation, Z has 
size [xm-ym+1,xn-yn+1] when xm>=ym and xn>=yn.  Otherwise
conv2 returns an empty matrix.

