Documentation

This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

convmtx2

2-D convolution matrix

Syntax

``T = convmtx2(H,m,n)``
``T = convmtx2(H,[m n])``

Description

example

````T = convmtx2(H,m,n)` returns the convolution matrix `T` for the matrix `H`. If `X` is an `m`-by-`n` matrix, then `reshape(T*X(:),size(H)+[m n]-1)` is the same as `conv2(X,H)`.```
````T = convmtx2(H,[m n])` returns the convolution matrix, where the dimensions `m` and `n` are a two-element vector. ```

Examples

collapse all

Create an averaging filter.

```H = ones(3,3)/9; % averaging filter 3-by-3 M = 5; X = magic(M); T = convmtx2(H,M,M); Y1 = reshape(T*X(:), size(H)+[5 5]-1) Y2 = conv2(X,H) isequal(Y1,Y2) % They are the same.```

Input Arguments

collapse all

Input matrix, specified as a numeric array.

Data Types: `double`

Rows in convolution matrix, specified as a numeric scalar.

Data Types: `double`

Columns in convolution matrix, specified as a numeric scalar.

Data Types: `double`

Dimensions of convolution matrix, specified as a two-element vector of the form `[m n]`, where `m` is the number of rows and `n` is the number of columns.

Data Types: `double`

Output Arguments

collapse all

Convolution matrix, returned as a numeric array. The output matrix `T` is of class `sparse`. The number of nonzero elements in `T` is no larger than `prod(size(H))*m*n`.