নেস্টেড ফাংশন এমন একটি ফাংশন যা ম্যাটল্যাবের অন্য একটি ফাংশনের ভিতরে তৈরি করা হয়। নেস্টেড ফাংশনগুলির বিশেষ জিনিস হল যে তারা প্যারেন্ট ফাংশনে সংজ্ঞায়িত ভেরিয়েবলগুলি ব্যবহার এবং পরিবর্তন করতে পারে।
বাক্য গঠন
MATLAB-এর এই নেস্টেড ফাংশনগুলি সহজেই প্যারেন্ট ফাংশন ভেরিয়েবল অ্যাক্সেস করতে পারে। MATLAB-তে নেস্টেড ফাংশন সংজ্ঞায়িত করার জন্য এখানে সিনট্যাক্স রয়েছে:
ফাংশন অভিভাবক
disp ( 'প্যারেন্ট ফাংশন' )
nestedfx
ফাংশন nestedfx
disp ( 'নেস্টেড ফাংশন' )
শেষ
শেষ
উদাহরণ কোড
নীচে আমরা একটি নেস্টেড ফাংশনের একটি MATLAB কোড দিয়েছি:
ফাংশন প্যারেন্ট ফাংশন
x = 10 ;
nestedFunction1 ( )
% নেস্টেড ফাংশন 1
ফাংশন nestedFunction1
disp ( 'Inside nestedFunction1' ) ;
disp ( এক্স ) ; % প্যারেন্ট ফাংশন থেকে ভেরিয়েবল এক্স অ্যাক্সেস করা
এবং = বিশ ;
নেস্টেড ফাংশন2 ( )
% নেস্টেড ফাংশন 2
ফাংশন নেস্টেড ফাংশন2
disp ( 'Inside nestedFunction2' ) ;
disp ( এক্স ) ; % প্যারেন্ট এবং নেস্টেড ফাংশন 1 থেকে ভেরিয়েবল x অ্যাক্সেস করা
disp ( এবং ) ; নেস্টেড ফাংশন 1 থেকে % ভেরিয়েবল y অ্যাক্সেস করা
শেষ
শেষ
শেষ
উপরে, MATLAB প্রধান ফাংশনের নাম হিসাবে সংজ্ঞায়িত করে প্যারেন্ট ফাংশন , এবং এটি দুটি নেস্টেড ফাংশন সংজ্ঞায়িত করে: nestedFunction1 এবং নেস্টেড ফাংশন2 .
nestedFunction1 প্যারেন্ট ফাংশন থেকে x ভেরিয়েবলের মান প্রদর্শন করে এবং অন্য একটি ভেরিয়েবল y সংজ্ঞায়িত করে। এর পরে, এটি ফাংশনের নাম nestedFunction2 কল করবে।
nestedFunction2 প্যারেন্ট ফাংশন এবং nestedFunction1 উভয় থেকে x এর মান প্রদর্শন করে, সেইসাথে nestedFunction1 থেকে y এর মান। কোডটি কার্যকর করার পরে, আউটপুটটি x এবং y এর মান সহ নেস্টেড ফাংশন উভয় থেকে বার্তাগুলি দেখাবে।
নেস্টেড ফাংশন থেকে মেইন ফাংশনে ভেরিয়েবল শেয়ার করা
ম্যাটল্যাবে আমরা ভেরিয়েবলকে সংজ্ঞায়িত করতে পারি এবং নেস্টেড থেকে মেইন ফাংশনে শেয়ার করতে পারি।
ফাংশন অভিভাবকনেস্টডফাঙ্ক
ফাংশন নেস্টডফাঙ্ক
x = 10 ;
শেষ
x = x+ 1 ;
disp ( এক্স ) ;
শেষ
এই MATLAB কোড প্যারেন্ট নামক একটি ফাংশনকে সংজ্ঞায়িত করে যেটিতে নেস্টেড ফাংশন বলা হয় নেস্টডফাঙ্ক . কোডটি nestedfunc-এ x ভেরিয়েবলের জন্য 10 এর একটি মান নির্ধারণ করে, তারপরে এটিকে প্যারেন্ট ফাংশনে 1 দ্বারা বৃদ্ধি করে এবং ফলাফল প্রদর্শন করে।
একই প্যারেন্ট ফাংশনের অধীনে একাধিক ফাংশন নেস্ট করা
MATLAB-এ আমরা একটি একক প্রধান প্যারেন্ট ফাংশনের মধ্যে একাধিক ফাংশনও অন্তর্ভুক্ত করতে পারি।
একই প্যারেন্ট ফাংশনের অধীনে % একাধিক ফাংশনফাংশন অভিভাবক
nestedfunc1
nestedfunc2
ফাংশন nestedfunc1
fprintf ( 'linuxhint.com\n' ) ;
শেষ
ফাংশন nestedfunc2
fprintf ( 'লিনাক্সহিন্টে স্বাগতম' ) ;
শেষ
শেষ
এই MATLAB কোডটি প্যারেন্ট নামক একটি ফাংশনকে সংজ্ঞায়িত করে যাতে দুটি নেস্টেড ফাংশন থাকে: nestedfunc1 এবং nestedfunc2। যখন প্যারেন্ট ফাংশন কল করা হয়, তখন এটি নেস্টেড ফাংশন উভয়ই চালায়। nestedfunc1 Linuxhint.com বার্তাটি প্রিন্ট করে এবং nestedfunc2 'লিনাক্সহিন্টে স্বাগতম' বার্তাটি প্রিন্ট করে।
নেস্টেড ফাংশনের মধ্যে ভেরিয়েবল শেয়ার করা
MATLAB-এ আমরা দুটি নেস্টেড ফাংশন সহ একক-প্যারেন্ট ফাংশন ভেরিয়েবলকে সংজ্ঞায়িত এবং ভাগ করতে পারি।
একই প্যারেন্ট ফাংশনের অধীনে % দুটি নেস্টেড ফাংশনফাংশন অভিভাবক
x = 5
নেস্টেড1
নেস্টেড2
ফাংশন নেস্টেড1
x = x* 2 ;
শেষ
ফাংশন নেস্টেড2
x = x+ 5 ;
শেষ
disp ( এক্স )
শেষ
এই MATLAB কোডটি প্যারেন্ট নামক একটি ফাংশনকে সংজ্ঞায়িত করে যা 5 এর মান সহ একটি ভেরিয়েবল x ঘোষণা করে। এতে দুটি নেস্টেড ফাংশন থাকে: nested1 এবং nested2।
নেস্টেড1-এ, x-এর মান 2 দ্বারা গুণ করা হয়, কিন্তু যেহেতু x একটি যুক্তি হিসাবে স্পষ্টভাবে পাস করা হয় না, তাই এটি বাইরের x ভেরিয়েবল পরিবর্তন করার পরিবর্তে nested1-এর মধ্যে একটি নতুন স্থানীয় চলক x তৈরি করে।
nested2-এ, x-এর মান 5 দ্বারা বৃদ্ধি পায়, এছাড়াও nested2-এর মধ্যে একটি নতুন স্থানীয় পরিবর্তনশীল x তৈরি করে।
নেস্টেড ফাংশনগুলি চালানোর পরে, কোডটি বাইরের x ভেরিয়েবলের মান প্রদর্শন করে, যা 5 এ অপরিবর্তিত থাকে কারণ নেস্টেড ফাংশনে করা পরিবর্তনগুলি শুধুমাত্র সেই ফাংশনের মধ্যে স্থানীয় ভেরিয়েবলকে প্রভাবিত করে এবং বাইরের ভেরিয়েবলকে নয়।
উপসংহার
MATLAB-এ নেস্টেড ফাংশনগুলি কোড সংগঠিত করতে পারে, পুনঃব্যবহারযোগ্যতা বাড়াতে পারে এবং কর্মক্ষমতা উন্নত করতে পারে। তারা ফাংশনগুলিকে তাদের প্যারেন্ট ফাংশনে সংজ্ঞায়িত ভেরিয়েবলগুলি অ্যাক্সেস এবং সংশোধন করার অনুমতি দেয়, আরও ভাল কোড এনক্যাপসুলেশন সক্ষম করে। নেস্টেড ফাংশন গ্লোবাল ভেরিয়েবল বা ফাংশনগুলির মধ্যে একাধিক আর্গুমেন্ট পাস করার প্রয়োজনীয়তা হ্রাস করে। এই নিবন্ধটি MATLAB-এ নেস্টেড ফাংশনের বিভিন্ন উদাহরণ কভার করে।