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

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".