MATLAB'da Fonksiyonu Kullanmadan Evrişim Nasıl Uygulanır

Matematiksel denklemin yakından görünümü

MATLAB, önceden oluşturulmuş bir evrişim işlevi içerir.

Resim Kredisi: Thinkstock Görselleri/Comstock/Getty Images

Evrişim, bir işlevin diğerinin üzerine kaydırılması sırasında üst üste binmesine göre iki işlevi karıştıran matematiksel bir işlemdir. MATLAB önceden oluşturulmuş bir evrişim fonksiyonu içermesine rağmen, ayrık evrişim integralini kendiniz hesaplamak mümkündür. İki f ve g fonksiyonunun ayrık evrişimi, f (j) * g (k-j)'nin 0 ila j aralığındaki toplamı olarak tanımlanır.

Aşama 1

Döndürmek istediğiniz iki işlevi içeren f ve g olmak üzere iki vektör tanımlayın. f ve g uzunlukları eşit olmak zorunda değildir. Evrişim sonucunun uzunluğu, k, f ve g uzunluklarının toplamından bir eksik olacaktır:

Günün Videosu

m = uzunluk (f); n = uzunluk (g); k = m + n - 1;

Adım 2

Evrişimin gerçekleşeceği j aralığını tanımlayın. j değeri, evrilecek olan iki fonksiyonun, f (j) ve g (k+1-n) indislerinin yasal olduğu aralıktır. k'ye eklenen 1 değeri, MATLAB'ın vektörleri 0 yerine 1'de indekslemeye başladığı gerçeğini açıklamak içindir:

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

Aşama 3

Evrişimin sonucu için alanı önceden tahsis edin:

my_result = sıfırlar (k);

4. Adım

k değerlerini yinelemek için bir for döngüsü yazın:

sonuç_dizini için = 1:k

Adım 5

j'nin tüm değerleri için evrişimi hesaplayın:

my_result (k) = toplam (f(j) .* g (k-j+1));

6. Adım

For döngüsünü "end" komutuyla kapatın.