conv
Convolución y multiplicación polinomial
Sintaxis
Descripción
w = conv(
devuelve la convolución de los vectores u,v
)u
y v
. Si u
y v
son vectores de coeficientes polinomiales, convolucionarlos es equivalente a multiplicar los dos polinomios.
Ejemplos
Multiplicación polinomial mediante convolución
Cree vectores u
y v
que contengan los coeficientes de los polinomios y .
u = [1 0 1]; v = [2 7];
Utilice la convolución para multiplicar los polinomios.
w = conv(u,v)
w = 1×4
2 7 2 7
w
contiene los coeficientes polinomiales de .
Convolución de vectores
Cree dos vectores y convoluciónelos.
u = [1 1 1]; v = [1 1 0 0 0 1 1]; w = conv(u,v)
w = 1×9
1 2 2 1 0 1 2 2 1
La longitud de w
es length(u)+length(v)-1
, que en este ejemplo es 9
.
Parte central de la convolución
Cree dos vectores. Encuentre la parte central de la convolución de u
y v
que tenga el mismo tamaño que u
.
u = [-1 2 3 -2 0 1 2];
v = [2 4 -1 1];
w = conv(u,v,'same')
w = 1×7
15 5 -9 7 6 7 -1
w
tiene una longitud de 7
. La convolución completa tendría una longitud de length(u)+length(v)-1
, que en este ejemplo sería 10.
Argumentos de entrada
u,v
— Vectores de entrada
vectores
Vectores de entrada, especificados como vectores fila o columna. Los vectores u
y v
pueden tener longitudes o tipos de datos diferentes.
Cuando u
o v
son de tipo single
, la salida es de tipo single
. En caso contrario, conv
convierte las entradas al tipo double
y devuelve el tipo double
.
Tipos de datos: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
Soporte de números complejos: Sí
shape
— Subsección de la convolución
'full'
(predeterminado) | 'same'
| 'valid'
Subsección de la convolución, especificada como 'full'
, 'same'
o 'valid'
.
'full' | Convolución completa (opción predeterminada). |
'same' | Parte central de la convolución del mismo tamaño que |
'valid' | Solo las partes de la convolución que se calculan sin los bordes con relleno cero. Con esta opción, |
Más acerca de
Convolución
La convolución de dos vectores, u
y v
, representa el área de superposición bajo los puntos cuando v
abarca la misma longitud que u
. Algebraicamente, la convolución es la misma operación que multiplicar polinomios cuyos coeficientes son los elementos de u
y v
.
Supongamos m = length(u)
y n = length(v)
. w
es el vector de longitud m+n-1
cuyo k
-ésimo elemento es
.
La suma incluye todos los valores de j
que dan lugar a subíndices válidos para u(j)
y v(k-j+1)
, concretamente j
=
max(1,k+1-n):1:min(k,m)
. Cuando m
=
n
, el resultado es
w(1) = u(1)*v(1) w(2) = u(1)*v(2)+u(2)*v(1) w(3) = u(1)*v(3)+u(2)*v(2)+u(3)*v(1) ... w(n) = u(1)*v(n)+u(2)*v(n-1)+ ... +u(n)*v(1) ... w(2*n-1) = u(n)*v(n)
Capacidades ampliadas
Arreglos altos
Realice cálculos con arreglos que tienen más filas de las que caben en la memoria.
Notas y limitaciones de uso:
Las entradas
u
yv
deben ser vectores columna.Si
shape
es'full'
(opción predeterminada), solou
ov
puede ser un arreglo alto.Si
shape
es'same'
o'valid'
,v
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™.
Para obtener información sobre las limitaciones de la generación de código C/C++, consulte Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder).
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Run MATLAB Functions in Thread-Based Environment.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos de GPU. Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Arreglos distribuidos
Realice particiones de arreglos grandes por toda la memoria combinada de su cluster mediante 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
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)