MATLAB contiene una función de convolución prediseñada.
Credito de imagen: Thinkstock Images / Comstock / Getty Images
La convolución es una operación matemática que combina dos funciones en relación con la superposición de una función a medida que se desplaza sobre otra. Aunque MATLAB contiene una función de convolución prediseñada, es posible calcular la integral de convolución discreta usted mismo. La convolución discreta de dos funciones f y g se define como la suma en el rango de 0 a j de f (j) * g (k-j).
Paso 1
Defina dos vectores, f y g, que contengan las dos funciones que desea convolucionar. Las longitudes de f y g no tienen que ser iguales. La longitud del resultado de la convolución, k, será uno menos que la suma de las longitudes de f y g:
Video del día
m = longitud (f); n = longitud (g); k = m + n - 1;
Paso 2
Defina el rango j sobre el cual ocurrirá la convolución. El valor de j es el rango donde los subíndices de las dos funciones a convolucionar, f (j) y g (k + 1-n), son legales. El valor de 1 agregado a k es para tener en cuenta el hecho de que MATLAB comienza a indexar vectores en 1 en lugar de 0:
j = máximo (1, k + 1-n): mínimo (k, m)
Paso 3
Asigne previamente espacio para el resultado de la convolución:
mi_resultado = ceros (k);
Etapa 4
Escriba un bucle for para iterar a través de los valores de k:
para índice_resultado = 1: k
Paso 5
Calcule la convolución para todos los valores de j:
mi_resultado (k) = suma (f (j). * g (k-j + 1));
Paso 6
Cierre el ciclo for con el comando "end".