convolution est une opération mathématique qui combine deux fonctions par rapport à la superposition d'une fonction telle qu'elle est déplacée sur un autre. Bien que MATLAB contient une fonction de convolution pré-construit , il est possible de calculer l'intégrale de convolution discrète vous-même. La convolution discrète de deux fonctions f et g est définie comme la somme sur la plage de 0 à J de f ( j) * g ( kj ) . Instructions
1
définir deux vecteurs, F et G, contenant les deux fonctions que vous souhaitez convolution . Les longueurs de f et g n'ont pas à être identiques. La longueur du résultat de la convolution , k , sera un de moins que la somme de la longueur de f et g :
m = longueur ( f ) , n = longueur ( g ) , k = m + n - 1;
2
définir la plage j sur laquelle la convolution se produira. La valeur de j est la plage où les indices des deux fonctions à convolution , F ( j) et G (k +1- n) , sont légales . La valeur de 1 ajouté à k est de tenir compte du fait que MATLAB commence vecteurs d'indexation à 1 plutôt que 0:
j = max ( 1, k +1- n) : min (k, m)
3
préallouer de l'espace pour le résultat de la convolution : Photos
my_result = zeros ( k) ;
4
Ecrire une boucle for pour parcourir à travers les valeurs de k :
pour result_index = 1: k
5
Calculer la convolution pour toutes les valeurs de j :
my_result (k) = somme ( f ( j) * g ( k -j +1) ) ; .
6
Fermer la boucle avec la commande " fin "
< . br>