Cómo aplicar convolución en MATLAB sin usar la función

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 preconstruida, 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:

m =longitud(f); n =longitud (g); k =metro + norte - 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 válidos. El valor de 1 sumado a k es para tener en cuenta el hecho de que MATLAB comienza a indexar vectores en 1 en lugar de 0:

j =máx(1,k+1-n):mín(k,m)

Paso 3

Preasignar espacio para el resultado de la convolución:

mi_resultado =ceros(k);

Paso 4

Escribe un ciclo 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

Cierra el bucle for con el comando "finalizar".