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