exponenta event banner

convmtx2

2-D матрица свертки

Описание

пример

T = convmtx2(H,m,n) возвращает матрицу свертки T для матрицы H. Если X является mоколо-n матрица, затем reshape(T*X(:),size(H)+[m n]-1) является таким же, как conv2(X,H).

T = convmtx2(H,[m n]) возвращает матрицу свертки, где размеры m и n представляют собой двухэлементный вектор.

Примеры

свернуть все

Показать, что, для матрицы свертки T для матрицы H, если X является матрицей m-by-n, то reshape(T*X(:),size(H)+[m n]-1) является таким же, как conv2(X,H)

Описание первого кодового блока

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)
Y1 = 7×7

    1.8889    4.5556    4.6667    3.6667    2.6667    2.5556    1.6667
    4.4444    7.6667    8.5556    6.5556    6.7778    5.8889    3.4444
    4.8889    8.7778   11.1111   10.8889   12.8889   10.5556    5.8889
    4.1111    6.6667   11.0000   13.0000   15.0000   10.6667    4.5556
    2.7778    6.7778   13.1111   15.1111   14.8889    8.5556    3.7778
    2.3333    5.6667   10.5556   10.7778    8.7778    3.8889    1.3333
    1.2222    3.2222    6.0000    5.0000    4.0000    1.2222    1.0000

Y2 = conv2(X,H)
Y2 = 7×7

    1.8889    4.5556    4.6667    3.6667    2.6667    2.5556    1.6667
    4.4444    7.6667    8.5556    6.5556    6.7778    5.8889    3.4444
    4.8889    8.7778   11.1111   10.8889   12.8889   10.5556    5.8889
    4.1111    6.6667   11.0000   13.0000   15.0000   10.6667    4.5556
    2.7778    6.7778   13.1111   15.1111   14.8889    8.5556    3.7778
    2.3333    5.6667   10.5556   10.7778    8.7778    3.8889    1.3333
    1.2222    3.2222    6.0000    5.0000    4.0000    1.2222    1.0000

isequal(Y1,Y2) % They are the same.
ans = logical
   0

Входные аргументы

свернуть все

Входная матрица, заданная как числовой массив.

Типы данных: double

Строки в матрице свертки, заданные как числовой скаляр.

Типы данных: double

Столбцы в матрице свертки, заданные как числовой скаляр.

Типы данных: double

Размеры матрицы свертки, определяемые как двухэлементный вектор вида [m n], где m - количество строк и n - количество столбцов.

Типы данных: double

Выходные аргументы

свернуть все

Матрица свертки, возвращаемая в виде числового массива. Выходная матрица T имеет класс sparse. Число ненулевых элементов в T не больше, чем prod(size(H))*m*n.

См. также

| (панель инструментов обработки сигналов)

Представлен до R2006a