Scripts এবং Functions এর পার্থক্য (Difference Between Scripts and Functions)

ম্যাটল্যাব এম-ফাইল (Matlab M-Files) - Computer Programming

339

ম্যাটল্যাব প্রোগ্রামিং ভাষায় Scripts এবং Functions দুটি প্রধান উপাদান, যা কোড লেখা এবং পরিচালনার জন্য ব্যবহৃত হয়। যদিও তারা দেখতে একরকম হতে পারে, তবে তাদের কাজ এবং ব্যবহারের মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। নিচে বিস্তারিত আলোচনা করা হল:

১. সংজ্ঞা (Definition)

  • Script: স্ক্রিপ্ট একটি সাধারণ কোড ব্লক যা ম্যাটল্যাবের কমান্ড উইন্ডোতে রান করা হয়। এটি ইনপুট আর্গুমেন্ট গ্রহণ করে না এবং কোন আউটপুট রিটার্ন করে না। স্ক্রিপ্টে থাকা কোড ম্যাটল্যাবের ওয়ার্কস্পেসে রান করে এবং সেখানে পরিবর্তনশীলগুলি (variables) তৈরি হয়।
  • Function: ফাংশন হল একটি মডুলার কোড ব্লক যা নির্দিষ্ট কাজ সম্পাদন করার জন্য ইনপুট আর্গুমেন্ট গ্রহণ করে এবং আউটপুট প্রদান করে। ফাংশনগুলির মধ্যে কোডের পুনঃব্যবহারযোগ্যতা থাকে এবং এটি ফলস্বরূপ মান (return value) প্রদান করে।

২. আর্গুমেন্ট (Arguments)

  • Script: স্ক্রিপ্টে কোনো ইনপুট আর্গুমেন্ট থাকে না। এটি সাধারণত কোডের সিকোয়েন্স রান করে এবং ওয়ার্কস্পেসে পরিবর্তনশীল (variables) তৈরি করে, যেগুলোর মান পরে ব্যবহার করা যায়।
  • Function: ফাংশন আর্গুমেন্ট গ্রহণ করতে পারে। এটি ইনপুট হিসেবে কিছু মান গ্রহণ করে এবং কাজ করার পর আউটপুট প্রদান করে। উদাহরণস্বরূপ, একটি ফাংশন দুটি সংখ্যা গ্রহণ করে তাদের যোগফল রিটার্ন করতে পারে।

উদাহরণ (Script):

% script_example.m
a = 5;
b = 10;
sum_ab = a + b;
disp(['যোগফল: ', num2str(sum_ab)]);

উদাহরণ (Function):

% addNumbers.m
function result = addNumbers(a, b)
    result = a + b;
end

৩. ওয়ার্কস্পেসের ব্যবহার (Use of Workspace)

  • Script: স্ক্রিপ্টে কোড রান করার সময় সমস্ত পরিবর্তনশীলগুলি ম্যাটল্যাবের ওয়ার্কস্পেসে তৈরি হয় এবং সেগুলি পরবর্তী কমান্ডে ব্যবহৃত হতে পারে। এর মানে হলো স্ক্রিপ্টে থাকা কোড একটি সামগ্রিক পরিবেশে কাজ করে।
  • Function: ফাংশনে কোড রান করার সময় আর্গুমেন্ট এবং আউটপুট ছাড়া অন্য কোন পরিবর্তনশীল ওয়ার্কস্পেসে প্রবেশ করে না, তাই ফাংশনটির বাইরে কোন পরিবর্তন ঘটানো হয় না। ফাংশনটি নিজস্ব স্কোপে কাজ করে, এবং এটি শুধুমাত্র আর্গুমেন্ট এবং রিটার্ন ভ্যালুর সাথে যোগাযোগ করে।

৪. আউটপুট (Output)

  • Script: স্ক্রিপ্টের কোনো নির্দিষ্ট আউটপুট নেই। এটি সাধারণত গণনা করে, কিছু প্রদর্শন করে (যেমন disp বা fprintf ব্যবহার করে), তবে সরাসরি ফলাফল বা মান রিটার্ন করে না।
  • Function: ফাংশনটি একটি আউটপুট প্রদান করে, যা মূলত একটি রিটার্ন মান হয়ে থাকে। ফাংশনটি আউটপুট হিসেবে বিভিন্ন ধরনের মান বা বস্তু প্রদান করতে পারে।

৫. কোডের পুনঃব্যবহারযোগ্যতা (Code Reusability)

  • Script: স্ক্রিপ্ট কোডের পুনঃব্যবহারযোগ্যতা সীমিত থাকে। স্ক্রিপ্টটি সাধারণত একবার চালানো হয় এবং তার মধ্যে থাকা কোডের অংশগুলি পরবর্তী ব্যবহারের জন্য পুনরায় ব্যবহার করা যায় না।
  • Function: ফাংশন কোডের পুনঃব্যবহারযোগ্যতা নিশ্চিত করে। একবার একটি ফাংশন তৈরি হলে, আপনি সেটি বিভিন্ন স্থানে ব্যবহার করতে পারেন, যা কোডের উন্নত পরিচালন এবং সংগঠন নিশ্চিত করে।

৬. কোডের মডুলারিটি (Code Modularity)

  • Script: স্ক্রিপ্ট সাধারণত একটি কোড ব্লক হিসেবে কাজ করে এবং এর মধ্যে কোডের মডুলারিটি থাকে না। একাধিক কাজ বা কার্য সম্পাদন করতে হলে স্ক্রিপ্টের কোড দীর্ঘ হয়ে যায়।
  • Function: ফাংশনগুলি কোডের মডুলারিটি নিশ্চিত করে। একাধিক ফাংশন ব্যবহার করে আপনি বড় প্রোগ্রামকে ছোট ছোট মডিউলে বিভক্ত করতে পারেন, যা পরবর্তী সময়ে উন্নয়ন ও ত্রুটি ঠিক করার জন্য সহজ হয়।

৭. ডিবাগিং (Debugging)

  • Script: স্ক্রিপ্টের মধ্যে ডিবাগিং সহজ হতে পারে কারণ এটি একটি ধারাবাহিক কোড ব্লক হিসেবে কাজ করে এবং সরাসরি আউটপুট দেয়।
  • Function: ফাংশনের মধ্যে ডিবাগিং করার সময় কিছুটা বেশি সতর্ক থাকতে হয়, কারণ ফাংশনটি একা কাজ করে এবং তার আউটপুট শুধুমাত্র আর্গুমেন্টের মাধ্যমে নির্ধারিত হয়।

৮. নামকরণ (Naming)

  • Script: স্ক্রিপ্ট ফাইলের নাম কোনও ফাংশনের নামের মতো হতে পারে না। স্ক্রিপ্ট ফাইলের নাম সাধারণত ম্যাপ বা সাধারণ প্রোগ্রাম থেকে হয়।
  • Function: ফাংশনের নাম এবং ফাইলের নাম অবশ্যই একই হতে হবে, অন্যথায় ম্যাটল্যাব ফাংশনটি সঠিকভাবে চিহ্নিত করতে পারবে না।

সারাংশ

বিষয়ScriptFunction
ইনপুট আর্গুমেন্টনেইআছে
আউটপুটনেইআছে
কোডের পরিসরওয়ার্কস্পেসের মধ্যে কাজ করেনিজস্ব স্কোপে কাজ করে
কোড পুনঃব্যবহারসীমিতখুব সহজ
মডুলারিটিকমবেশি
ডিবাগিংসহজকিছুটা জটিল

সারাংশ:

Scripts সাধারণত একবার রান করার জন্য ব্যবহৃত হয় এবং ইনপুট বা আউটপুট ধারণ করে না। এটি সাধারণত ম্যাটল্যাবের ওয়ার্কস্পেসে কোড রান করার মাধ্যমে কাজ করে। অন্যদিকে, Functions নির্দিষ্ট ইনপুট আর্গুমেন্ট গ্রহণ করে এবং একটি আউটপুট রিটার্ন করে, যা কোডের পুনঃব্যবহারযোগ্যতা এবং মডুলারিটি নিশ্চিত করে।

Content added By

Script এবং Function Files এর মৌলিক পার্থক্য

307

MATLABScript এবং Function ফাইল দুটি ভিন্ন ধরনের কোড ফাইল যা ম্যাটল্যাবের কোড লেখার জন্য ব্যবহৃত হয়। যদিও দুটোই .m এক্সটেনশনে সংরক্ষিত হয়, তবে তাদের মধ্যে কিছু মৌলিক পার্থক্য রয়েছে। এখানে তাদের পার্থক্য গুলি তুলে ধরা হল:

১. কাজের ধরন:

  • Script File: স্ক্রিপ্ট ফাইল হল একটি সিকোয়েন্সিয়াল কোডের সিরিজ যা ম্যাটল্যাবের ওয়ার্কস্পেসে রান করা হয়। এটি সাধারণত একবারে একটি নির্দিষ্ট কাজ বা গাণিতিক অপারেশন সম্পাদন করে এবং ইনপুট বা আউটপুট আর্গুমেন্ট গ্রহণ করে না।
  • Function File: ফাংশন ফাইল হল একটি নির্দিষ্ট কাজ বা গণনা সম্পাদন করার জন্য কোডের মডিউল, যা ইনপুট আর্গুমেন্ট গ্রহণ করে এবং একটি আউটপুট প্রদান করে। ফাংশন ফাইলটি পুনঃব্যবহারযোগ্য এবং কাস্টমাইজ করা যায়।

২. ইনপুট এবং আউটপুট:

  • Script File: স্ক্রিপ্ট ফাইলগুলিতে ইনপুট এবং আউটপুট সরাসরি ম্যাটল্যাব ওয়ার্কস্পেস থেকে হয়। স্ক্রিপ্ট ফাইল কোন আর্গুমেন্ট গ্রহণ করে না এবং আউটপুটও সরাসরি প্রদর্শিত হয়।
  • Function File: ফাংশন ফাইলগুলি এক বা একাধিক আর্গুমেন্ট গ্রহণ করে এবং ফলস্বরূপ আউটপুট রিটার্ন করে। ফাংশন ফাইলগুলি মান বা ফলাফল রিটার্ন করে, যা অন্য কোথাও ব্যবহার করা যায়।

৩. কোডের অ্যাক্সেস:

  • Script File: স্ক্রিপ্ট ফাইলের মধ্যে কোডের সমস্ত পরিবর্তনশীল এবং ডেটা ম্যাটল্যাব ওয়ার্কস্পেসে থাকে এবং অন্য কোড ব্লকগুলো সেটি ব্যবহার করতে পারে।
  • Function File: ফাংশন ফাইলের মধ্যে কোডের পরিবর্তনশীলগুলি শুধুমাত্র ফাংশনের ভিতরে সীমাবদ্ধ থাকে, এবং ফাংশনটি বাইরে থেকে অ্যাক্সেস করা যায় না।

৪. ডেটা পাসিং:

  • Script File: স্ক্রিপ্ট ফাইলে ডেটা পাস করার প্রয়োজন নেই, কারণ এটি সরাসরি ম্যাটল্যাবের ওয়ার্কস্পেসে কাজ করে।
  • Function File: ফাংশন ফাইলে আপনি আর্গুমেন্ট পাস করতে পারেন, যেগুলি ফাংশনের ভিতরে ব্যবহৃত হয়।

৫. ফাংশন নাম এবং স্ক্রিপ্ট নাম:

  • Script File: স্ক্রিপ্ট ফাইলের নাম সাধারণত কোডের কাজের নামের সাথে সম্পর্কিত হয় (যেমন example.m), কিন্তু এর কোনও ফাংশন নাম থাকে না।
  • Function File: ফাংশন ফাইলের প্রথম লাইনে ফাংশনের নাম এবং ইনপুট আর্গুমেন্টের তালিকা থাকে, যেমন function output = myFunction(input)

৬. ফাংশন কল:

  • Script File: স্ক্রিপ্ট ফাইল রান করার জন্য সাধারণত ফাইলের নাম টাইপ করে রান করা হয়, এবং এটি সেই কোডের পংক্তিগত সিকোয়েন্স অনুসরণ করে।
  • Function File: ফাংশন ফাইলকে কল করতে হলে আপনি ফাংশনের নাম ব্যবহার করে তাকে প্যারামিটার সহ কল করতে হবে, যেমন output = myFunction(input)

৭. কোডের পুনঃব্যবহারযোগ্যতা:

  • Script File: স্ক্রিপ্ট ফাইলগুলির পুনঃব্যবহার কম, কারণ এগুলি নির্দিষ্ট কাজের জন্য লেখা হয় এবং আর্গুমেন্ট বা আউটপুটের জন্য সীমাবদ্ধ থাকে।
  • Function File: ফাংশন ফাইলগুলি পুনঃব্যবহারযোগ্য, কারণ একটি ফাংশন একাধিক স্থানে এবং বিভিন্ন পরিস্থিতিতে ব্যবহার করা যেতে পারে। এটি কোডের মডুলারিটি এবং কার্যকারিতা নিশ্চিত করে।

উদাহরণ:

Script File:

% স্ক্রিপ্ট ফাইল example.m
a = 5;
b = 10;
sum_ab = a + b;  % যোগফল হিসাব করা
disp(['ফলাফল: ', num2str(sum_ab)]);  % ফলাফল প্রদর্শন

Function File:

% ফাংশন ফাইল addNumbers.m
function result = addNumbers(a, b)
    result = a + b;  % a এবং b এর যোগফল রিটার্ন করা
end

এখানে addNumbers ফাংশনটি দুটি আর্গুমেন্ট নিয়ে তাদের যোগফল রিটার্ন করে। এটি অন্য কোথাও ব্যবহার করা যেতে পারে, যেমন:

result = addNumbers(5, 10);
disp(['ফলাফল: ', num2str(result)]);

সারাংশ:

  • Script Files সাধারণত একবারে একটি নির্দিষ্ট কাজ সম্পাদন করে এবং ম্যাটল্যাব ওয়ার্কস্পেসে কাজ করে।
  • Function Files ইনপুট গ্রহণ করে, আউটপুট রিটার্ন করে এবং কোডের পুনঃব্যবহারযোগ্যতা নিশ্চিত করে।

Script এবং Function ফাইলের মধ্যে এই পার্থক্যগুলো আপনাকে ম্যাটল্যাবের কোডিংয়ে আরো কার্যকরভাবে সাহায্য করবে।

Content added By

Function Files এর সুবিধা এবং Structure

303

ফাংশন ফাইল (Function Files) হল ম্যাটল্যাবের একটি গুরুত্বপূর্ণ ফাইল টাইপ যা কোডের পুনঃব্যবহারযোগ্যতা, মডুলারিটি এবং কার্যকারিতা বৃদ্ধি করতে ব্যবহৃত হয়। ফাংশন ফাইলগুলি সাধারণত সেই কোড ধারণ করে যা নির্দিষ্ট ইনপুট নিয়ে একটি ফলাফল রিটার্ন করে। এগুলি function কীওয়ার্ড দিয়ে শুরু হয় এবং .m এক্সটেনশনে সংরক্ষিত থাকে। ফাংশন ফাইলগুলি স্ক্রিপ্টের তুলনায় আরও মডুলার এবং সুবিধাজনক।

Function Files এর Structure

একটি ফাংশন ফাইলের সাধারণ কাঠামো নিম্নরূপ:

  1. ফাংশন ডিক্লারেশন:
    ফাংশন ফাইলের প্রথম লাইনে function কীওয়ার্ড ব্যবহার করা হয়, তারপর ফাংশনের নাম এবং আর্গুমেন্ট (input) এবং আউটপুট (output) পরিবর্তনশীলগুলির তালিকা দেওয়া হয়।
  2. ফাংশন বডি:
    এখানে আপনি ফাংশনের কার্যকলাপ বা লজিক নির্ধারণ করেন, যেটি ইনপুট আর্গুমেন্টের উপর ভিত্তি করে কাজ করবে এবং আউটপুট প্রদান করবে।
  3. ফাংশন শেষ:
    ম্যাটল্যাবের ফাংশন ফাইলগুলির মধ্যে কোনো প্রকার end কীওয়ার্ড ব্যবহার করা হয় না; তবে একটি ফাংশন একাধিক ব্লক বা সাব-ফাংশন থাকতে পারে যা সাধারণভাবে end দিয়ে শেষ হয়।

Example: Function File Structure

% addNumbers.m - একটি ফাংশন যা দুটি সংখ্যা যোগফল বের করে

function result = addNumbers(a, b)  % ফাংশনের নাম এবং ইনপুট আর্গুমেন্ট
    result = a + b;  % লজিক বা কার্যকলাপ (যোগফল বের করা)
end

এখানে:

  • function result = addNumbers(a, b): এটি ফাংশন ডিক্লারেশন, যেখানে addNumbers ফাংশনের নাম এবং a, b ইনপুট আর্গুমেন্ট রয়েছে।
  • result = a + b;: এটি ফাংশনের লজিক, যেখানে a এবং b এর যোগফল গণনা করে result এ রাখা হয়েছে।
  • end: ফাংশনটির শেষ সিম্বল, যা ফাংশনটির পরিসমাপ্তি সূচিত করে।

Function Files এর সুবিধা

  1. কোড পুনঃব্যবহারযোগ্যতা:
    ফাংশন ফাইলগুলি একবার লিখে বারবার ব্যবহার করা যায়। একই ফাংশনকে বিভিন্ন প্রোগ্রামে বা বিভিন্ন অবস্থানে ব্যবহার করা যেতে পারে, যা কোড পুনঃব্যবহারযোগ্যতা নিশ্চিত করে এবং উন্নত প্রোগ্রামিং কৌশল হিসেবে কাজ করে।
  2. মডুলারিটি:
    ফাংশন ফাইলগুলি কোডকে ছোট ছোট ব্লকে বিভক্ত করতে সাহায্য করে, যাতে প্রতিটি ফাংশন নির্দিষ্ট একটি কাজ সম্পাদন করে। এতে কোডের রক্ষণাবেক্ষণ এবং আপডেট সহজ হয়। আপনি যেকোনো ফাংশন আপডেট করলেই মূল প্রোগ্রামে পরিবর্তন আসবে না, কারণ তারা স্বাধীনভাবে কাজ করে।
  3. ডিবাগিং সহজ:
    ফাংশনগুলির মধ্যে কোডের বিভাজন এবং কমপ্লেক্সিটি কমানোর কারণে, ডিবাগিং বা ত্রুটি সংশোধন অনেক সহজ হয়। আপনি কোডের প্রতিটি অংশ আলাদাভাবে পরীক্ষা করতে পারেন।
  4. সহজ টেস্টিং:
    ফাংশন ফাইলগুলি ছোট ছোট ইউনিটের মধ্যে বিভক্ত থাকে, যার ফলে প্রতিটি ফাংশনের কার্যকারিতা সহজেই টেস্ট করা যায়। আপনি একটি নির্দিষ্ট ফাংশন কল করতে পারেন এবং তার আউটপুট পরীক্ষা করতে পারেন।
  5. কোডের উন্নত পারফরম্যান্স:
    ফাংশনগুলির মাধ্যমে কোডের কার্যকারিতা বাড়ানো যায়। কারণ ফাংশন শুধুমাত্র নির্দিষ্ট কাজ সম্পাদন করে, এবং এটি দ্রুত ও কার্যকরী হতে পারে।
  6. ইনপুট এবং আউটপুট ব্যবস্থাপনা:
    ফাংশন ফাইলগুলি ইনপুট এবং আউটপুট হিসেবে ভ্যারিয়েবল গ্রহণ ও রিটার্ন করতে সক্ষম, যা কোডের ভিতরে বিভিন্ন ধরণের ডেটা বা তথ্য পরিচালনার সুবিধা দেয়।
  7. ব্যবহারকারীদের জন্য সুবিধা:
    ফাংশন ফাইলগুলি কোডের পুনঃব্যবহারযোগ্যতা এবং মডুলারিটি নিশ্চিত করার মাধ্যমে ব্যবহারকারীদের কোডের প্রতিটি অংশ আরও ভালভাবে বুঝতে সাহায্য করে।

Function File এর কিছু সাধারণ ব্যবহার

  1. গণনা:
    গণনা সম্পর্কিত কাজগুলো ফাংশন ফাইলে রাখা যেতে পারে। যেমন, বেসিক গাণিতিক অপারেশন, সমীকরণ সমাধান ইত্যাদি।
  2. ডেটা প্রক্রিয়াকরণ:
    বিভিন্ন ধরনের ডেটা প্রক্রিয়াকরণ যেমন, ম্যাট্রিক্স অপারেশন, পরিসংখ্যান বিশ্লেষণ, ডেটা ফিল্টারিং ইত্যাদি ফাংশন ফাইলে করা যায়।
  3. সাইন ওয়েভ বা অন্যান্য ভিজ্যুয়ালাইজেশন:
    গ্রাফ বা ভিজ্যুয়ালাইজেশন তৈরি করতে ফাংশন ফাইল ব্যবহার করা হয়। যেমন সাইন ওয়েভের জন্য একটি ফাংশন লিখে তা বিভিন্ন জায়গায় ব্যবহার করা যেতে পারে।

সারাংশ

Function Files হল ম্যাটল্যাবের কোডের একটি অত্যন্ত গুরুত্বপূর্ণ উপাদান, যা কোডের পুনঃব্যবহারযোগ্যতা, মডুলারিটি, এবং কার্যকারিতা নিশ্চিত করতে সাহায্য করে। ফাংশন ফাইলের মধ্যে function কীওয়ার্ড ব্যবহার করে ইনপুট আর্গুমেন্টের মাধ্যমে আউটপুট রিটার্ন করা হয়, এবং এগুলি কোডকে ছোট ছোট ব্লকে বিভক্ত করে কাজের দক্ষতা বৃদ্ধি করতে সাহায্য করে।

Content added By

Script এর মাধ্যমে Multiple Functions Call করা

478

ম্যাটল্যাব স্ক্রিপ্ট ফাইলের মাধ্যমে একাধিক ফাংশন কল করা খুবই সাধারণ এবং শক্তিশালী পদ্ধতি, যা আপনাকে একসাথে একাধিক কার্য সম্পাদন করতে সহায়তা করে। স্ক্রিপ্ট ফাইলে আপনি বিভিন্ন ফাংশন কল করতে পারেন, যা বিভিন্ন গণনা বা কার্য সম্পাদন করবে। এই ফাংশনগুলির মধ্যে ডেটা শেয়ার করা সম্ভব, কারণ স্ক্রিপ্ট ফাইলের সকল পরিবর্তনশীল (variables) ম্যাটল্যাবের ওয়ার্কস্পেসে থাকে এবং অন্য ফাংশনের সাথে যোগাযোগ করতে পারে।

এখানে একটি উদাহরণ দেওয়া হলো, যেখানে একটি স্ক্রিপ্ট ফাইলের মাধ্যমে একাধিক ফাংশন কল করা হয়েছে:

উদাহরণ: একাধিক ফাংশন কল করা

১. প্রথম ফাংশন: যোগফল বের করার ফাংশন

% ফাংশন ফাইল addNumbers.m
function result = addNumbers(a, b)
    result = a + b;  % যোগফল বের করা
end

২. দ্বিতীয় ফাংশন: গুণফল বের করার ফাংশন

% ফাংশন ফাইল multiplyNumbers.m
function result = multiplyNumbers(a, b)
    result = a * b;  % গুণফল বের করা
end

৩. তৃতীয় ফাংশন: একটি সংখ্যা চেক করা, কি সেটা ইভেন না অডড

% ফাংশন ফাইল checkEvenOdd.m
function result = checkEvenOdd(a)
    if mod(a, 2) == 0
        result = 'Even';
    else
        result = 'Odd';
    end
end

৪. স্ক্রিপ্ট ফাইল: একাধিক ফাংশন কল করা

% স্ক্রিপ্ট ফাইল callFunctions.m
a = 10;  % প্রথম সংখ্যা
b = 5;   % দ্বিতীয় সংখ্যা

% addNumbers ফাংশন কল
sumResult = addNumbers(a, b);
disp(['যোগফল: ', num2str(sumResult)]);

% multiplyNumbers ফাংশন কল
productResult = multiplyNumbers(a, b);
disp(['গুণফল: ', num2str(productResult)]);

% checkEvenOdd ফাংশন কল
evenOddResult = checkEvenOdd(a);
disp(['সংখ্যাটি ', num2str(a), ' হল: ', evenOddResult]);

ব্যাখ্যা:

  • এখানে addNumbers.m ফাংশনটি দুটি সংখ্যার যোগফল বের করে, multiplyNumbers.m ফাংশনটি দুটি সংখ্যার গুণফল বের করে এবং checkEvenOdd.m ফাংশনটি একটি সংখ্যা ইভেন না অড চেক করে।
  • callFunctions.m স্ক্রিপ্ট ফাইলটি এই তিনটি ফাংশন কল করেছে এবং তাদের ফলাফলকে স্ক্রীনে প্রদর্শন করেছে।

কিভাবে কাজ করে:

  1. প্রথম ফাংশন addNumbers দুটি ইনপুট (a, b) নিয়ে তাদের যোগফল রিটার্ন করবে।
  2. দ্বিতীয় ফাংশন multiplyNumbers একই দুটি ইনপুট নিয়ে তাদের গুণফল রিটার্ন করবে।
  3. তৃতীয় ফাংশন checkEvenOdd একটি ইনপুট (a) নিয়ে সেটি ইভেন না অড তা নির্ধারণ করবে এবং ফলস্বরূপ স্ট্রিং ('Even' বা 'Odd') রিটার্ন করবে।

সারাংশ:

এইভাবে একটি স্ক্রিপ্ট ফাইলের মাধ্যমে আপনি একাধিক ফাংশন কল করতে পারেন। প্রতিটি ফাংশন তার নিজস্ব কাজ করে এবং ফলাফল স্ক্রিপ্টে ফিরে আসে। স্ক্রিপ্ট ফাইলের পরিবর্তনশীলগুলির মাধ্যমে ফাংশনগুলির মধ্যে ডেটা শেয়ার করা হয় এবং ম্যাটল্যাবের ওয়াকস্পেসে সকল ফাংশনগুলি একে অপরের সাথে যোগাযোগ করতে পারে।

Content added By

Function Return Values এবং Inline Functions

303

ম্যাটল্যাবের ফাংশন (Functions) অত্যন্ত শক্তিশালী এবং মডুলার কোড লেখার জন্য ব্যবহৃত হয়। একটি ফাংশন ইনপুট গ্রহণ করে এবং নির্দিষ্ট কাজ সম্পাদন করে তার ফলাফল (output) রিটার্ন করে। ম্যাটল্যাবের ফাংশনগুলির মাধ্যমে আপনি গণনা, বিশ্লেষণ, এবং ডেটা প্রক্রিয়াকরণ করতে পারেন। এর পাশাপাশি, Inline Functions (একটি লাইনে ফাংশন) কোডের আরও সরলীকৃত রূপ যেখানে ছোট কাজের জন্য দ্রুত একটি ফাংশন তৈরি করা যায়।

১. Function Return Values (ফাংশন রিটার্ন ভ্যালু)

একটি ফাংশন সাধারণত একটি বা একাধিক আউটপুট ভ্যালু রিটার্ন করে। এর মাধ্যমে আপনি ফাংশন থেকে গণনা বা প্রসেসিংয়ের ফলাফল গ্রহণ করতে পারেন।

ফাংশন রিটার্ন ভ্যালু:

  1. একটি আউটপুট: আপনি একটি আউটপুট ফিরিয়ে দিতে পারেন, যা ফাংশনের কাজ বা ফলাফল।
  2. একাধিক আউটপুট: একই ফাংশন থেকে একাধিক আউটপুট ফিরিয়ে দেয়া সম্ভব।

১.১. একটি আউটপুট রিটার্ন:

এটি একটি সাধারণ ফাংশন যা একটি আউটপুট রিটার্ন করে।

উদাহরণ:

% Function: addNumbers.m
function result = addNumbers(a, b)
    result = a + b;  % a এবং b এর যোগফল রিটার্ন করা
end

ফাংশনটি ব্যবহার করতে:

result = addNumbers(5, 10);
disp(['ফলাফল: ', num2str(result)]);

এখানে, addNumbers ফাংশনটি a এবং b এর যোগফল হিসেবে একটি আউটপুট রিটার্ন করে, এবং এই আউটপুট কমান্ড উইন্ডোতে প্রদর্শিত হবে।

১.২. একাধিক আউটপুট রিটার্ন:

ফাংশন থেকে একাধিক আউটপুটও রিটার্ন করা যেতে পারে। এজন্য ফাংশনটিতে আউটপুটগুলির জন্য ভ্যালু সংরক্ষণ করতে হয়।

উদাহরণ:

% Function: calculate.m
function [sum, difference] = calculate(a, b)
    sum = a + b;
    difference = a - b;
end

ফাংশনটি ব্যবহার করতে:

[sumResult, diffResult] = calculate(10, 5);
disp(['যোগফল: ', num2str(sumResult)]);
disp(['বিয়োগফল: ', num2str(diffResult)]);

এখানে, calculate ফাংশনটি দুটি আউটপুট রিটার্ন করে: sum এবং difference


২. Inline Functions (ইনলাইন ফাংশন)

Inline Functions হল ছোট, সহজ ফাংশন যা এক লাইনে সংক্ষিপ্তভাবে লেখা হয় এবং সাধারণত ছোট কাজের জন্য ব্যবহৃত হয়। এই ফাংশনগুলো সরাসরি কল করা হয়, এবং কোডের পুনঃব্যবহারযোগ্যতার জন্য বেশ উপকারী।

ম্যাটল্যাবের @ সিনট্যাক্স ব্যবহার করে Inline Function তৈরি করা যায়।

২.১. Inline Function তৈরি করা:

একটি ইনলাইন ফাংশন সাধারণত একটি একক স্টেটমেন্টের মাধ্যমে কাজ করে। এটি অনেক দ্রুত হয়, কারণ এটি ছোট ছোট কাজের জন্য লেখা হয় এবং এক লাইনে ফলাফল প্রদান করে।

উদাহরণ:

% Inline Function: squareNumber
squareNumber = @(x) x.^2;  % একটি ইনলাইন ফাংশন যা সংখ্যার বর্গ করে
result = squareNumber(5);
disp(['ফলাফল: ', num2str(result)]);

এখানে, squareNumber একটি ইনলাইন ফাংশন যা কোন সংখ্যার বর্গফল রিটার্ন করে।

২.২. Inline Function with Multiple Operations:

একাধিক অপারেশন দিয়ে ইনলাইন ফাংশন তৈরি করা সম্ভব।

উদাহরণ:

% Inline Function: addMultiply
addMultiply = @(x, y) (x + y) * 2;  % একটি ইনলাইন ফাংশন যা যোগফল গুণ করে ২ দিয়ে
result = addMultiply(3, 4);
disp(['ফলাফল: ', num2str(result)]);

এখানে, addMultiply ইনলাইন ফাংশনটি x এবং y এর যোগফল নিয়ে সেটিকে ২ দিয়ে গুণ করে ফলাফল রিটার্ন করে।

ইনলাইন ফাংশনের সুবিধা:

  1. সহজ এবং দ্রুত: ছোট কাজের জন্য ইনলাইন ফাংশন দ্রুত তৈরি করা যায়।
  2. কোডের পরিস্কারতা: এক লাইনে ফাংশন লেখা কোডকে আরো পরিষ্কার ও সহজ করে।
  3. গণনা সংক্ষিপ্ত: ছোট কাজগুলোর জন্য ইনলাইন ফাংশনগুলো সংক্ষেপে গণনা করতে সহায়ক।

সারাংশ

  • Function Return Values: একটি ফাংশন একটি বা একাধিক আউটপুট রিটার্ন করতে পারে, যা ফাংশনের গণনা বা কাজের ফলাফল। এটি স্ক্রিপ্ট বা অন্যান্য ফাংশনগুলিতে ব্যবহৃত হতে পারে।
  • Inline Functions: ইনলাইন ফাংশনগুলি ছোট, এক লাইনে রচিত ফাংশন যা দ্রুত কাজ সম্পাদন করতে সহায়ক। এটি সাধারণত একাধিক অপারেশন বা গাণিতিক কাজের জন্য ব্যবহৃত হয়।

M-ফাইল ব্যবহার করে আপনি সহজেই ফাংশন রিটার্ন ভ্যালু এবং ইনলাইন ফাংশনগুলির মাধ্যমে ম্যাটল্যাবের শক্তিশালী ফিচারগুলি কাজে লাগাতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...