Convolução é uma operação matemática que combina duas funções em relação à sobreposição de uma função à medida que ela é deslocada sobre outra. Embora o MATLAB contenha uma função de convolução pré-construída, é possível calcular você mesmo a integral de convolução discreta. A convolução discreta de duas funções f e g é definida como a soma no intervalo de 0 a j de f(j) * g(k-j).
Etapa 1
Defina dois vetores, f e g, contendo as duas funções que você deseja convoluir. Os comprimentos de f e g não precisam ser iguais. O comprimento do resultado da convolução, k, será um a menos que a soma do comprimento de f e g:
m =comprimento(f); n =comprimento(g); k =m + n - 1;
Etapa 2
Defina o intervalo j sobre o qual a convolução ocorrerá. O valor de j é o intervalo onde os subscritos das duas funções a serem convoluídas, f(j) eg(k+1-n), são válidos. O valor de 1 adicionado a k deve levar em conta o fato de que o MATLAB começa a indexar vetores em 1 em vez de 0:
j =max(1,k+1-n):min(k,m)
Etapa 3
Pré-aloque espaço para o resultado da convolução:
meu_resultado =zeros(k);
Etapa 4
Escreva um laço for para iterar pelos valores de k:
para índice_resultado =1:k
Etapa 5
Calcule a convolução para todos os valores de j:
meu_resultado(k) =soma(f(j) .* g(k-j+1));
Etapa 6
Feche o loop for com o comando "end".