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+1,j2k2+1,...,jNkN+1)

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

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

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

Смотрите также

|

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