convn

Описание

пример

C = convn(A,B) возвращает N-мерную свертку массивов A и B.

пример

C = convn(A,B,shape) возвращает часть свертки согласно shape. Для примера, C = convn(A,B,'same') возвращает центральную часть свертки, которая имеет тот же размер A.

Примеры

свернуть все

Вы можете управлять размером выхода convn функция. Для примера, 'same' опция обрезает внешнюю часть свертки и возвращает только центральную часть, которая имеет тот же размер, что и вход.

Свернуть случайный массив 2 на 3 на 2 A с ядром 2 на 2 на 2 B. Результатом является массив 3 на 4 на 3, который size(A) + size(B) - 1.

A = rand(2,3,2);
B = 0.25*ones(2,2,2);
C = convn(A,B)
C = 
C(:,:,1) =

    0.2037    0.2354    0.1898    0.1581
    0.4301    0.6902    0.4426    0.1825
    0.2264    0.4548    0.2527    0.0244


C(:,:,2) =

    0.2733    0.5444    0.4686    0.1975
    0.6365    1.3772    1.2052    0.4645
    0.3632    0.8327    0.7366    0.2670


C(:,:,3) =

    0.0696    0.3090    0.2788    0.0394
    0.2063    0.6869    0.7627    0.2821
    0.1367    0.3779    0.4839    0.2426

sizeC = size(A) + size(B) - 1
sizeC = 1×3

     3     4     3

Верните центральную часть свертки, которая имеет тот же размер A.

C = convn(A,B,'same')
C = 
C(:,:,1) =

    1.3772    1.2052    0.4645
    0.8327    0.7366    0.2670


C(:,:,2) =

    0.6869    0.7627    0.2821
    0.3779    0.4839    0.2426

Входные параметры

свернуть все

Входной массив, заданный как векторный, матричный или многомерный массив.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного числа: Да

Второй входной массив, заданный как вектор, матрица или многомерный массив для свертки с A. Область массива B не должен быть такого же размера, как A.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного числа: Да

Часть свертки, заданная как одно из следующих значений:

  • 'full' - Возврат полной N-D свертки.

  • 'same' - Вернуть центральную часть свертки, которая имеет тот же размер A.

  • 'valid' - Возвращает только части свертки, которые вычисляются без заполненных нулями ребер.

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

свернуть все

N-D свертка, возвращенная как вектор, матрица или многомерный массив. Если A и B иметь одинаковое количество размерностей, полную свертку C = convn(A,B) имеет размер size(A)+size(B)-1.

Когда один или оба из A и B имеют тип single, затем выводится тип single. В противном случае convn преобразует входы в типы double и возвращает тип double.

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

Подробнее о

свернуть все

N-D свертка

Для дискретных, N -мерных переменных A и B, это уравнение задает свертку A и B:

C(j1,j2,...,jN)=k1k2...kNA(k1,k2,...,kN)B(j1k1,j2k2,...,jNkN)

Каждый ki запускает все значения, которые приводят к легальным нижним индексам A и B.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

|

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