Contenido principal

convn

Descripción

C = convn(A,B) devuelve la convolución de N dimensiones de los arreglos A y B.

ejemplo

C = convn(A,B,shape) devuelve una subsección de la convolución según shape. Por ejemplo, C = convn(A,B,'same') devuelve la parte central de la convolución, que tiene el mismo tamaño que A.

ejemplo

Ejemplos

contraer todo

Puede controlar el tamaño de la salida de la función convn. Por ejemplo, la opción 'same' recorta la parte externa de la convolución y devuelve solo la parte central, que tiene el mismo tamaño que la entrada.

Convolucione un arreglo aleatorio de 2 por 3 por 2 A con un kernel de 2 por 2 por 2 B. El resultado es un arreglo de 3 por 4 por 3, que es 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

Devuelva la parte central de la convolución, que tiene el mismo tamaño que 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

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como vector, matriz o arreglo multidimensional.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Soporte de números complejos:

Segundo arreglo de entrada, especificado como vector, matriz o arreglo multidimensional que se desea convolucionar con A. El arreglo B no tiene que ser del mismo tamaño que A.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Soporte de números complejos:

Subsección de la convolución, especificada como uno de estos valores:

  • 'full': devuelve la convolución ND completa.

  • 'same': devuelve la parte central de la convolución, que tiene el mismo tamaño que A.

  • 'valid': devuelve solo las partes de la convolución que se calculan sin los bordes rellenados con ceros.

Argumentos de salida

contraer todo

Convolución ND, devuelta como vector, matriz o arreglo multidimensional. Si A y B tienen el mismo número de dimensiones, la convolución completa C = convn(A,B) tiene el tamaño size(A)+size(B)-1.

Cuando A o B, o ambas, son de tipo single, la salida es de tipo single. En caso contrario, convn convierte las entradas al tipo double y devuelve el tipo double.

Tipos de datos: double | single

Más acerca de

contraer todo

Capacidades ampliadas

expandir todo

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido antes de R2006a

Consulte también

|