Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

conv

Convolución y multiplicación polinómica

Descripción

ejemplo

w = conv(u,v) devuelve la convolución Circunvolución de los vectores u y v. Si u y v son vectores de coeficientes polinómicos, convolución equivale a multiplicar los dos polinomios.

ejemplo

w = conv(u,v,shape) devuelve una subsección de la circunvolución, especificada por shape. Por ejemplo, conv(u,v,'same') devuelve sólo la parte central de la circunvolución, del mismo tamaño que u, y conv(u,v,'valid') devuelve sólo la parte de la circunvolución calculada sin el rellenado con cero Bordes.

Ejemplos

contraer todo

Crear vectores u y v que contengan los coeficientes de los polinomios y .

u = [1 0 1];
v = [2 7];

Utilice circunvolución para multiplicar los polinomios.

w = conv(u,v)
w = 1×4

     2     7     2     7

w contiene los coeficientes polinómicos de .

Crea dos vectores y convolvelos.

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.

Crear dos vectores. Busque la parte central de la circunvolució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 circunvolución completa sería de longitud length(u)+length(v)-1, que en este ejemplo sería 10.

Argumentos de entrada

contraer todo

Vectores de entrada, especificados como vectores de fila o columna. Los vectores u y v pueden ser diferentes longitudes o tipos de datos.

Cuando u o v son de tipo single, la salida es de tipo single. De lo contrario, conv convierte las entradas en el 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:

Subsección de la circunvolución, especificada como 'full', 'same'o 'valid'.

'full'

Circunvolución completa (por defecto).

'same'

Parte central de la circunvolución del mismo tamaño que u.

'valid'

Sólo las partes de la circunvolución que se calculan sin los bordes con relleno de cero. Con esta opción, length(w) es max(length(u)-length(v)+1,0), excepto cuando length(v) es cero. Si length(v) = 0, then length(w) = length(u).

Más acerca de

contraer todo

Circunvolución

La circunvolución de dos vectores, u y v, representa el área de solapamiento bajo los puntos como v a través de u. Algebraicamente, la circunvolución es la misma operación que multiplicar polinomios cuyos coeficientes son los elementos de u y v.

Deje que m = length(u) y n = length(v) . A continuación, w es el vector de longitud m+n-1 cuyo elemento kes

w(k)=ju(j)v(kj+1).

La suma se resume en todos los valores de j que conducen a subíndices legales para u(j) y v(k-j+1), específicamente j = max(1,k+1-n):1:min(k,m). Cuando m = n, esto da

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

Consulte también

| | | | |

Introducido antes de R2006a