ম্যাটল্যাব (MATLAB)-এ Cell Arrays এবং Structures দুটি গুরুত্বপূর্ণ ডেটা টাইপ, যেগুলি জটিল ডেটা সংরক্ষণ এবং পরিচালনা করার জন্য ব্যবহৃত হয়। তাদের মধ্যে প্রধান পার্থক্য হল যে Cell Arrays সাধারণত অপ্রতিরোধ্য বা ভিন্ন ধরনের ডেটা ধারণ করতে পারে, যেখানে Structures সাধারণত নামকৃত ক্ষেত্র (fields) ধারণ করে, যার প্রতিটি ক্ষেত্র একটি নির্দিষ্ট ডেটা ধারণ করে।
১. Cell Arrays
Cell Arrays একটি ডেটা টাইপ যা বিভিন্ন ধরনের ডেটা (যেমন: সংখ্যাত্মক মান, টেক্সট, ম্যাট্রিক্স, স্ট্রিং ইত্যাদি) একই অ্যারে বা সেল এর মধ্যে ধারণ করতে সক্ষম। এতে, প্রতিটি সেল একটি পৃথক ডেটা ধারণ করতে পারে, তাই এটি নমনীয়তা এবং উচ্চতর জটিল ডেটা স্ট্রাকচার তৈরি করতে সক্ষম।
Cell Array তৈরি করা
ম্যাটল্যাব-এ Cell Array তৈরি করার জন্য {} ব্যবহার করা হয়।
উদাহরণ:
% Cell Array ডিক্লেয়ার করা
cellArray = {1, 2.5, 'Hello', [1,2,3], true};
% Cell Array এর উপাদান এক্সেস করা
disp(cellArray{1}); % আউটপুট: 1 (প্রথম উপাদান)
disp(cellArray{3}); % আউটপুট: Hello (তৃতীয় উপাদান)Cell Array এর উপাদান এক্সেস করা
- একটি সেল অ্যারে থেকে উপাদান পেতে
{}ব্যবহার করা হয়। - সম্পূর্ণ অ্যারে বা সেল গ্রুপ পেতে
()ব্যবহার করা হয়।
উদাহরণ:
% একক সেল এর অ্যাক্সেস
disp(cellArray{2}); % আউটপুট: 2.5
% সম্পূর্ণ সেল অ্যারে অ্যাক্সেস
disp(cellArray(1:2)); % আউটপুট: {1} {2.5}Cell Array এর বৈশিষ্ট্য:
- নমনীয়তা: একে একাধিক ডেটা টাইপ ধারণ করার জন্য ব্যবহার করা যেতে পারে।
- একাধিক টাইপ: একটি সেলে ভিন্ন ভিন্ন টাইপের ডেটা ধারণ করা সম্ভব।
- সহজ অ্যাক্সেস:
{}ব্যবহার করে সেলের ডেটা সহজে এক্সেস করা যায়।
২. Structures (স্ট্রাকচার)
Structures হল একটি ডেটা টাইপ যা নামকৃত ক্ষেত্র (fields) ধারণ করে, যার প্রতিটি ক্ষেত্র একটি নির্দিষ্ট ডেটা ধারণ করে। Structures বিশেষভাবে ব্যবহৃত হয় যখন আপনি সম্পর্কিত ডেটার একটি গ্রুপ তৈরি করতে চান, যেখানে প্রতিটি ক্ষেত্রের নাম থাকে এবং আপনি সহজেই এই ক্ষেত্রগুলো অ্যাক্সেস করতে পারেন।
Structure তৈরি করা
Structure তৈরি করার জন্য . (ডট) ব্যবহার করা হয় এবং ক্ষেত্রের নামের সাথে ডট দিয়ে মান প্রদান করা হয়।
উদাহরণ:
% Structure তৈরি করা
student.name = 'John';
student.age = 20;
student.grades = [85, 90, 88];
student.isGraduated = false;
% Structure এর উপাদান এক্সেস করা
disp(student.name); % আউটপুট: John
disp(student.age); % আউটপুট: 20Structure এর ক্ষেত্র (Fields) এক্সেস করা
Structure এর মধ্যে একটি নির্দিষ্ট ক্ষেত্রের মান অ্যাক্সেস করার জন্য ডট নোটেশন ব্যবহার করা হয়।
% Structure এর বিভিন্ন ক্ষেত্র অ্যাক্সেস করা
disp(student.grades); % আউটপুট: 85 90 88Structure এর বৈশিষ্ট্য:
- নামকরণ: Structure এর মধ্যে আপনি প্রতিটি ক্ষেত্রের জন্য একটি নাম নির্ধারণ করতে পারেন।
- সংগঠিত: সম্পর্কিত ডেটা গুলি একটি ঐক্যবদ্ধ সত্তা হিসেবে সংরক্ষণ করা হয়।
- ধরন অনুযায়ী ডেটা: প্রতিটি ক্ষেত্রের জন্য আলাদা আলাদা ডেটা থাকতে পারে (যেমন, সংখ্যা, স্ট্রিং, লজিক্যাল ইত্যাদি)।
Cell Arrays এবং Structures এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Cell Array | Structure |
|---|---|---|
| ডেটা সংগঠন | প্রতিটি সেল ভিন্ন ভিন্ন ডেটা ধারণ করতে পারে | প্রতিটি ক্ষেত্র একটি নির্দিষ্ট নাম এবং মান ধারণ করে |
| অ্যাক্সেস পদ্ধতি | {} এবং () দিয়ে অ্যাক্সেস করা হয় | ডট নোটেশন (যেমন student.name) |
| নমনীয়তা | বিভিন্ন ধরনের ডেটা একত্রিত করা যায় | প্রতিটি ক্ষেত্র নির্দিষ্ট ডেটা টাইপ ধারণ করে |
| অ্যারে বা ম্যাট্রিক্স | সেল অ্যারে হতে পারে, তবে ভিন্ন ভিন্ন টাইপের ডেটা ধারণ করতে পারে | স্ট্রাকচারকে একটি একক ইউনিট হিসেবে ব্যবহার করা হয় |
Cell Array এবং Structure এর সাথে কাজ করার কিছু উদাহরণ
Cell Array এর সাথে কাজ করা
% নাম এবং বয়সের একটি Cell Array তৈরি করা
people = {'Alice', 30; 'Bob', 25; 'Charlie', 35};
% Cell Array এর প্রথম সারির প্রথম কলামে নামের অ্যাক্সেস
disp(people{1, 1}); % আউটপুট: Alice
% Cell Array এর দ্বিতীয় সারির দ্বিতীয় কলামে বয়সের অ্যাক্সেস
disp(people{2, 2}); % আউটপুট: 25Structure এর সাথে কাজ করা
% কয়েকজন ব্যক্তির তথ্যের স্ট্রাকচার তৈরি করা
person1.name = 'Alice';
person1.age = 30;
person2.name = 'Bob';
person2.age = 25;
person3.name = 'Charlie';
person3.age = 35;
% Structure এর নাম এবং বয়স অ্যাক্সেস করা
disp(person1.name); % আউটপুট: Alice
disp(person2.age); % আউটপুট: 25Cell Array এবং Structure এর একত্রিত ব্যবহার
% Student এর নাম, বয়স এবং গ্রেড স্ট্রাকচারের মধ্যে রাখা
student(1).name = 'Alice';
student(1).age = 20;
student(1).grades = [85, 90, 92];
student(2).name = 'Bob';
student(2).age = 22;
student(2).grades = [78, 88, 91];
% Cell Array এ student নামক স্ট্রাকচার রাখা
people = {student(1), student(2)};
% Cell Array থেকে Structure এর মান এক্সেস করা
disp(people{1}.name); % আউটপুট: Alice
disp(people{2}.grades); % আউটপুট: 78 88 91সারাংশ
Cell Arrays এবং Structures হল ম্যাটল্যাবের গুরুত্বপূর্ণ ডেটা টাইপ যা জটিল ডেটা ধারণ ও পরিচালনা করার জন্য ব্যবহৃত হয়। Cell Arrays ব্যবহার করে বিভিন্ন ধরনের ডেটা একত্রিত করা যায়, যেখানে Structures ব্যবহৃত হয় যখন আপনি নামকৃত ক্ষেত্রের মাধ্যমে সম্পর্কিত ডেটা সংগঠিত করতে চান। এগুলির কার্যকর ব্যবহারের মাধ্যমে আপনি আরও নমনীয় এবং শক্তিশালী কোড লিখতে পারেন।
Read more