Ορίστε δύο φορείς , στ και ζ , που περιέχει τις δύο λειτουργίες που θέλετε να συνέλιξη . Τα μήκη των f και g δεν πρέπει να είναι ίσες . Το μήκος του αποτέλεσμα της ανελίξεως , k, θα είναι ένα λιγότερο από το άθροισμα του μήκους των f και g :
m = μήκος ( στ) ? N = μήκος ( ζ) ? K = m + n - 1 ? 2
Ορίστε το εύρος j επί των οποίων η συνέλιξη θα συμβεί . Η τιμή του j είναι η περιοχή όπου οι δείκτες των δύο λειτουργιών που πρέπει να ανέλιξη , f ( j ) και g ( k +1- n ) , είναι νόμιμες . Η αξία του 1 προστίθεται στο k είναι να συνεκτιμηθεί το γεγονός ότι η MATLAB ξεκινά φορείς αναπροσαρμογή κατά 1 αντί για 0 :
j = max ( 1 , k +1- n ) : min ( k , m )
Η 3
Preallocate χώρο για το αποτέλεσμα του συγκερασμού :
my_result = zeros ( k ) ?
Η 4
Γράψτε ένα βρόχο για να μετακινηθείτε με τιμές του k :
για result_index = 1 : k
5
Υπολογίστε τη συνέλιξη για όλες τις τιμές του j :
my_result ( k ) = άθροισμα ( f ( ι ) * g ( k - j +1) ) ? .
Η
6 Κλείστε το βρόχο for με το "τέλος" εντολή
Η <. br >
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα