Faltning är en matematisk operation som blandar två funktioner i förhållande till överlappningen av en funktion som det skiftas över en annan . Även MATLAB innehåller en färdiga faltning funktion , är det möjligt att beräkna den diskreta faltningen integral själv . Den diskreta faltningen av två funktioner f och g definieras som summan över intervallet 0 till j av f ( j ) * g ( kj ) . Instruktioner
1
Definiera två vektorer , F och G , som innehåller de två funktioner du vill convolve . Längderna av f och g behöver inte vara lika. Längden av resultatet av faltningen , k , kommer att vara ett mindre än summan av längden av f och g :
m = längd ( f ) , n = längd ( g ) , k = m + n - 1 ,
2
Definiera intervallet j över vilket faltning kommer att inträffa . Värdet på j är det område där indexen i de två funktioner som ska faltade , f ( j ) och g ( k +1- n ) , är lagliga . Värdet av en adderas till k är att ta hänsyn till det faktum att MATLAB börjar indexering vektorer på ett snarare än 0 :
j = max ( 1 , k +1- n ) : min ( k , m )
3
Preallocate utrymme för resultatet av faltning :
my_result = zeros ( k ) ,
4
Skriv en for-loop för att iterera genom värden på k :
för result_index = 1 : k
5
Beräkna faltningen för alla värden på j :
my_result ( k ) = sum ( f ( j ) * g ( k - j +1 ) ) ; .
6
Stäng för slinga med " end " kommandot
< . br >