convn

Convolução N-dimensional de dois arrays.

Categoria: Mathematics > Fourier Analysis and Filtering

Sintaxe

C = convn(A, B)

Retorna a convolução N-D completa.

C = convn(A, B, shape)

Retorna a parte 'full', 'same' ou 'valid'.

Descrição

convn generaliza conv e conv2 para arrays com qualquer número de dimensões, como volumes ou vídeos. Dimensões finais ausentes contam como tamanho 1, então uma matriz e um vetor podem ser combinados.

O custo cresce com o produto dos tamanhos dos dois arrays, então kernels grandes em volumes grandes são lentos; use fftn em problemas grandes.

Argumentos de entrada

A, B
Arrays numéricos com qualquer número de dimensões.
shape
Seleciona a parte do resultado a manter, como em conv2.

Argumentos de saída

C
Array da convolução. Para 'full' seu tamanho é size(A)+size(B)-1 em cada dimensão.

Exemplo

Caixa 3-D e uma linha de suavização

C = convn(ones(2,2,2), ones(2,2,2));
size(C)
C(:,:,2)
convn([1 2; 3 4], [1 1], 'same')
Saída
ans = 1×3

     3     3     3
ans = 3×3

     2     4     2
     4     8     4
     2     4     2
ans = 2×2

     3     2
     7     4

Veja também

conv conv2 fftn filter smoothdata