convn
Convolución ND
Descripción
Ejemplos
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
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: Sí
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: Sí
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 queA
.'valid'
: devuelve solo las partes de la convolución que se calculan sin los bordes rellenados con ceros.
Argumentos de salida
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
Para arreglos discretos de N dimensiones A y B, la siguiente ecuación define la convolución de A y B:
Cada ki recorre todos los valores que dan lugar a subíndices legales de A y B.
Usando esta definición, convn
calcula la convolución directa de dos arreglos de N dimensiones en lugar de la convolución basada en FFT.
Capacidades ampliadas
La función convn
es compatible con arreglos altos con las siguientes notas y limitaciones de uso:
Si
shape
es'full'
(valor predeterminado), las entradasA
yB
no deben estar vacías y solo una de ellas puede ser un arreglo alto.Si
shape
es'same'
o'valid'
,B
no puede ser un arreglo alto.
Para obtener más información, consulte Arreglos altos.
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en entornos basados en subprocesos.
La función convn
es totalmente compatible con los arreglos de GPU. Para ejecutar la función en una GPU, especifique los datos de entrada como un gpuArray
(Parallel Computing Toolbox). Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Esta función es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido antes de R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)