A MATLAB tartalmaz egy előre beépített konvolúciós függvényt.
Kép jóváírása: Thinkstock Images/Comstock/Getty Images
A konvolúció egy matematikai művelet, amely két függvényt kever össze az egyik függvény átfedéséhez képest, amikor az eltolódik a másikra. Bár a MATLAB tartalmaz egy előre beépített konvolúciós függvényt, lehetőség van a diszkrét konvolúciós integrál kiszámítására. Két f és g függvény diszkrét konvolúciója az f (j) * g (k-j) 0–j tartományának összege.
1. lépés
Határozzon meg két vektort, f és g, amelyek tartalmazzák a két konvolválni kívánt függvényt. f és g hosszának nem kell egyenlőnek lennie. A konvolúció eredményének hossza, k, eggyel kisebb lesz, mint f és g hosszának összege:
A nap videója
m = hosszúság (f); n = hosszúság (g); k = m + n-1;
2. lépés
Határozza meg azt a j tartományt, amelyen belül a konvolúció megtörténik. A j értéke az a tartomány, ahol a két konvolválandó függvény, az f (j) és a g (k+1-n) alsó indexei legálisak. A k-hez hozzáadott 1 annak a ténynek az oka, hogy a MATLAB a vektorok indexelését 1 helyett 0-tól kezdi:
j = max (1,k+1-n):min (k, m)
3. lépés
Előre jelöljön ki helyet a konvolúció eredményének:
saját_eredmény = nullák (k);
4. lépés
Írjon egy for ciklust a k értékei áthaladásához:
eredmény_index = 1:k esetén
5. lépés
Számítsa ki a konvolúciót j összes értékére:
saját_eredményem (k) = összeg (f(j) .* g (k-j+1));
6. lépés
Zárja be a for ciklust az "end" paranccsal.