Les partenaires publicitaires:

Comment appliquer la convolution dans matlab sans utiliser la fonction

Convolution est une opération mathématique qui associe deux fonctions relatives à la fonction de l'un chevauchement tel qu'il est déplacé au-dessus de l'autre. Bien que MATLAB contient une fonction pré-construit convolution, il est possible de calculer l'intégrale de convolution discret même. La convolution discrète de deux fonctions f et g est défini comme la somme sur la gamme de 0 à j f (j) * g (kj).

Instructions

  1. Définissez deux vecteurs, f et g, contenant les deux fonctions que vous souhaitez convolution. Les longueurs de f et g ne doivent pas être égaux. 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 gamme j sur lequel la convolution se produira. La valeur de j est la plage dans laquelle les indices des deux fonctions à convolution, f (j) et g (k + 1-n), sont légales. La valeur de 1 à k est ajouté pour tenir compte du fait que MATLAB vecteurs d'indexation commence à 1 au lieu de 0:

    j = max (1, k + 1-n): min (k, m)

  3. Préallouer espace pour le résultat de la convolution:

    my_result = zéros (K);

  4. Ecrire une boucle pour parcourir 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. Fermez la boucle avec le "fin" commande.

» » » » Comment appliquer la convolution dans matlab sans utiliser la fonction