MATLAB में एक पूर्व-निर्मित कनवल्शन फ़ंक्शन होता है।
छवि क्रेडिट: थिंकस्टॉक इमेज/कॉमस्टॉक/गेटी इमेजेज
कनवल्शन एक गणितीय ऑपरेशन है जो एक फ़ंक्शन के ओवरलैप के सापेक्ष दो कार्यों को मिलाता है क्योंकि इसे दूसरे पर स्थानांतरित किया जाता है। हालाँकि MATLAB में एक पूर्व-निर्मित कनवल्शन फ़ंक्शन होता है, लेकिन असतत कनवल्शन इंटीग्रल की गणना स्वयं करना संभव है। दो कार्यों f और g के असतत संकल्प को f (j) * g (k-j) की सीमा 0 से j तक के योग के रूप में परिभाषित किया गया है।
स्टेप 1
दो सदिशों, f और g को परिभाषित करें, जिनमें वे दो फलन हों जिन्हें आप कनवल्व करना चाहते हैं। जरूरी नहीं कि f और g की लंबाई बराबर हो। कनवल्शन के परिणाम की लंबाई, k, f और g की लंबाई के योग से एक कम होगी:
दिन का वीडियो
एम = लंबाई (एफ); एन = लंबाई (जी); के = एम + एन - 1;
चरण दो
उस रेंज को परिभाषित करें जिस पर कनवल्शन होगा। जे का मान वह श्रेणी है जहां दो कार्यों की सदस्यता, एफ (जे) और जी (के + 1-एन), कानूनी हैं। k में जोड़ा गया 1 का मान इस तथ्य के लिए जिम्मेदार है कि MATLAB 0 के बजाय 1 पर वैक्टर को अनुक्रमित करना शुरू करता है:
जे = अधिकतम (1, के + 1-एन): न्यूनतम (के, एम)
चरण 3
संकल्प के परिणाम के लिए स्थान आवंटित करें:
my_result = शून्य (के);
चरण 4
k के मानों के माध्यम से पुनरावृति करने के लिए लूप के लिए लिखें:
result_index = 1:k. के लिए
चरण 5
j के सभी मानों के लिए कनवल्शन की गणना करें:
my_result (k) = योग (f(j) .* g (k-j+1));
चरण 6
"एंड" कमांड के साथ लूप के लिए बंद करें।