Convolutie is een wiskundige bewerking die twee functies combineert in verhouding tot de overlap van de ene functie als het over een andere wordt verschoven . Hoewel MATLAB bevat een voorgedefinieerde convolutiefunctie , is het mogelijk om de discrete convolutie integraal zelf uitrekenen . De discrete convolutie van twee functies f en g wordt gedefinieerd als de som over het bereik 0 tot j f ( j ) * g ( kj ) . Instructies 1 Definieer twee vectoren , f en g , die de twee functies die u wilt oprollen . De lengten van f en g niet gelijk zijn . , N = lengte ( g ) , k = m + n m = lengte ( f ) : de lengte van het resultaat van de convolutie , k , zal een minder dan de som van de lengte van f en g zijn - 1 ; kopen van 2 Definieer het bereik j waarover de convolutie zal optreden . De waarde van j is het bereik waar subscripts van de twee functies worden convolved , f ( j ) en g ( k +1- n ) , zijn legaal . De waarde van 1 toegevoegd aan k is het feit te verklaren dat MATLAB begint indexering dynamiek op 1 plaats 0 : j = max ( 1 , k +1- n ) : min ( k , m ) < br > 3 Preallocate ruimte voor het resultaat van de convolutie : my_result = nullen ( k ) ; 4 Schrijf een lus te herhalen door waarden k voor result_index = 1 : k 5 Bereken de convolutie voor alle waarden van j : my_result ( k ) = som ( f ( j ) * g ( k - j +1 ) ) ; . 6 Sluit de lus met het "einde " command < . br > |