ফাংশন (Function) হল কোডের একটি ব্লক, যা নির্দিষ্ট ইনপুট আর্গুমেন্ট গ্রহণ করে এবং একটি ফলস্বরূপ আউটপুট প্রদান করে। ম্যাটল্যাব প্রোগ্রামিং ভাষায় ফাংশন দুটি গুরুত্বপূর্ণ কাজ করে: ডিফাইন করা (Define) এবং কল করা (Call)।
১. Function Definition (ফাংশন ডিফাইন করা)
ম্যাটল্যাবের ফাংশন সাধারণত একটি ফাইলের মধ্যে ডিফাইন করা হয়, যেখানে প্রথম লাইনে ফাংশনের নাম এবং আর্গুমেন্টের তালিকা থাকে। ফাংশনটি একটি নির্দিষ্ট কাজ বা গণনা সম্পাদন করে এবং তার ফলাফল রিটার্ন করে।
ফাংশন ডিফাইন করার সাধারণ সিনট্যাক্স:
function output = functionName(input1, input2, ...)
% ফাংশনের কাজ এখানে লিখুন
output = ...; % আউটপুট প্রদান করুন
endএখানে:
functionNameহল ফাংশনের নাম।input1,input2, ইত্যাদি হল ফাংশনের ইনপুট আর্গুমেন্ট।outputহল রিটার্ন আউটপুট।
উদাহরণ: একটি ফাংশন যা দুটি সংখ্যার যোগফল বের করবে
function result = addNumbers(a, b)
result = a + b; % a এবং b এর যোগফল
endএই কোডে:
addNumbersহল ফাংশনের নাম।aএবংbহল ইনপুট আর্গুমেন্ট।resultহল আউটপুট যা দুটি সংখ্যার যোগফল হিসেবে রিটার্ন হবে।
২. Function Call (ফাংশন কল করা)
একবার ফাংশন ডিফাইন করা হলে, আপনি সেই ফাংশনটিকে কল করতে পারেন কোডের অন্য কোথাও, ইনপুট আর্গুমেন্ট দিয়ে এবং আউটপুট গ্রহণ করে।
ফাংশন কল করার সিনট্যাক্স:
output = functionName(input1, input2, ...);উদাহরণ: addNumbers ফাংশনটি কল করা
% addNumbers ফাংশনটি কল করা
result = addNumbers(5, 7); % 5 এবং 7 এর যোগফল
disp(['ফলাফল: ', num2str(result)]);এখানে:
addNumbers(5, 7)ফাংশনটি কল করছে5এবং7ইনপুট আর্গুমেন্ট হিসেবে।- ফাংশনটির রিটার্ন আউটপুট, অর্থাৎ যোগফল,
resultএ সংরক্ষিত হচ্ছে। dispকমান্ডের মাধ্যমে যোগফলটি প্রদর্শিত হচ্ছে।
৩. Multiple Outputs (একাধিক আউটপুট)
ম্যাটল্যাব ফাংশন একাধিক আউটপুটও রিটার্ন করতে পারে। আপনি একটি ফাংশন থেকে একাধিক আউটপুট ফিরিয়ে দিতে পারেন এবং সেগুলোকে আলাদাভাবে গ্রহণ করতে পারেন।
উদাহরণ: দুটি সংখ্যার যোগফল এবং গুণফল বের করার ফাংশন
function [sum, product] = addAndMultiply(a, b)
sum = a + b; % যোগফল
product = a * b; % গুণফল
endএখন, এই ফাংশনটি কল করতে হবে এবং দুইটি আউটপুট গ্রহণ করতে হবে:
[sumResult, prodResult] = addAndMultiply(3, 4); % 3 এবং 4 এর যোগফল এবং গুণফল
disp(['যোগফল: ', num2str(sumResult)]);
disp(['গুণফল: ', num2str(prodResult)]);এখানে:
addAndMultiply(3, 4)ফাংশনটি কল করা হচ্ছে এবং এর দুটি আউটপুট (sumResultএবংprodResult) ধারণ করছে।- ফলস্বরূপ,
sumResultহবে7এবংprodResultহবে12।
৪. Default Input Values (ডিফল্ট ইনপুট মান)
ম্যাটল্যাব ফাংশনে আপনি ডিফল্ট ইনপুট মানও দিতে পারেন, যদি ব্যবহারকারী কিছু ইনপুট না দেয়।
উদাহরণ: ডিফল্ট মান সহ ফাংশন
function result = multiply(a, b)
if nargin < 2 % যদি b না দেওয়া হয়
b = 1; % ডিফল্ট মান
end
result = a * b; % a এবং b এর গুণফল
endএখানে, যদি ব্যবহারকারী b প্রদান না করেন, তবে b এর মান ১ ধরা হবে।
result1 = multiply(5, 3); % ফলস্বরূপ 15
result2 = multiply(5); % b এর ডিফল্ট মান হবে 1, ফলস্বরূপ 5
disp(['ফলাফল 1: ', num2str(result1)]);
disp(['ফলাফল 2: ', num2str(result2)]);সারাংশ
- ফাংশন ডিফাইন করা: ম্যাটল্যাবের মধ্যে ফাংশন তৈরি করা হয়
functionকিওয়ার্ড দিয়ে, যেখানে আর্গুমেন্ট এবং আউটপুট মান নির্ধারণ করা হয়। - ফাংশন কল করা: একবার ফাংশন ডিফাইন করার পর, তাকে কল করতে হয় ইনপুট দিয়ে এবং আউটপুট সংগ্রহ করতে হয়।
- একাধিক আউটপুট: ম্যাটল্যাব ফাংশন থেকে একাধিক আউটপুটও সংগ্রহ করা যেতে পারে।
- ডিফল্ট ইনপুট মান: ফাংশনের মধ্যে ডিফল্ট মান সেট করা যেতে পারে, যা ব্যবহারকারী ইনপুট না দিলে ব্যবহৃত হয়।
এভাবে, ম্যাটল্যাবের ফাংশন ডিফাইন এবং কল করার মাধ্যমে আপনি কোডের মডুলারিটি বৃদ্ধি করতে পারেন এবং কোড পুনরায় ব্যবহারযোগ্য করতে পারেন।
Read more