MATLAB এ Structures এবং Nested Structures
MATLAB-এ Structures এবং Nested Structures ব্যবহার করা হয় ডেটা সংগঠিত করার জন্য যেখানে বিভিন্ন ধরণের তথ্য (যেমন, সংখ্যা, টেক্সট, বা অন্যান্য স্ট্রাকচার) একত্রে সংরক্ষণ করা যায়। Structures হল একটি ডেটা টাইপ যা একাধিক ভেরিয়েবল বা ফিল্ডের মাধ্যমে তথ্য রাখে, এবং এগুলোর প্রতিটি ফিল্ডের নাম আলাদা হতে পারে। Nested Structures হল স্ট্রাকচার যেখানে একটি স্ট্রাকচারের ভিতরে অন্য স্ট্রাকচার থাকতে পারে।
1. Structures (স্ট্রাকচার)
স্ট্রাকচার হল এমন একটি ডেটা টাইপ যা একাধিক ভিন্ন ধরনের ডেটা একত্রে রাখার সুযোগ দেয়। প্রতিটি ডেটা ফিল্ডের নাম থাকে এবং সেই নাম ব্যবহার করে ডেটা অ্যাক্সেস করা যায়।
Structure Syntax:
structureName.fieldName = value;এখানে:
structureName: স্ট্রাকচারের নাম।fieldName: স্ট্রাকচারের ফিল্ডের নাম।value: ফিল্ডের মান।
Structure Example:
% Structure creation
person.name = 'John';
person.age = 30;
person.height = 175.5;
person.isStudent = false;
% Accessing structure fields
disp(person.name); % 'John'
disp(person.age); % 30
disp(person.height); % 175.5
disp(person.isStudent); % falseএখানে person একটি স্ট্রাকচার যা name, age, height, এবং isStudent নামক ফিল্ড ধারণ করে। প্রতিটি ফিল্ডের মান আলাদা ডেটা টাইপ হতে পারে।
Accessing Structure Fields:
স্ট্রাকচারের ফিল্ডগুলোর মান অ্যাক্সেস করতে আপনাকে ফিল্ডের নাম ব্যবহার করতে হয়:
name = person.name; % Access 'name' field
age = person.age; % Access 'age' field2. Nested Structures (নেস্টেড স্ট্রাকচার)
Nested Structures হল স্ট্রাকচার যেখানে একটি স্ট্রাকচারের ভিতরে অন্য একটি স্ট্রাকচার থাকতে পারে। এটি জটিল ডেটা সংরক্ষণ করতে সহায়ক হয়, যেখানে একটি স্ট্রাকচারের মধ্যে আরো অনেক ছোট ছোট স্ট্রাকচার থাকে।
Nested Structure Syntax:
structureName.fieldName1.fieldName2 = value;Nested Structure Example:
% Nested structure creation
person.name = 'John';
person.age = 30;
person.address.street = '123 Main St';
person.address.city = 'New York';
person.address.zip = '10001';
% Accessing nested structure fields
disp(person.name); % 'John'
disp(person.address.city); % 'New York'
disp(person.address.zip); % '10001'এখানে, person একটি স্ট্রাকচার যা name, age, এবং address ফিল্ড ধারণ করে। address একটি নেস্টেড স্ট্রাকচার যা আরও তিনটি ফিল্ড street, city, এবং zip ধারণ করে।
Accessing Nested Structure Fields:
নেস্টেড স্ট্রাকচারের ফিল্ডের মান অ্যাক্সেস করতে আপনি পিরিয়ড (.) চিহ্ন দিয়ে ধাপে ধাপে অ্যাক্সেস করতে পারেন:
street = person.address.street; % Access 'street' field of nested structure3. Working with Arrays of Structures (স্ট্রাকচার অ্যারে)
একটি স্ট্রাকচার অ্যারে তৈরি করা যেতে পারে, যেখানে একাধিক স্ট্রাকচার থাকে। প্রতিটি স্ট্রাকচারের মধ্যে ভিন্ন ডেটা থাকতে পারে এবং আপনি সেই স্ট্রাকচারগুলোর মান অ্যাক্সেস করতে পারেন।
Structure Array Example:
% Creating an array of structures
students(1).name = 'Alice';
students(1).age = 21;
students(1).grade = 'A';
students(2).name = 'Bob';
students(2).age = 22;
students(2).grade = 'B';
% Accessing the fields of the structure array
disp(students(1).name); % 'Alice'
disp(students(2).grade); % 'B'এখানে students একটি স্ট্রাকচার অ্যারে যার দুটি উপাদান আছে। প্রতিটি উপাদান একটি স্ট্রাকচার যা name, age, এবং grade ফিল্ড ধারণ করে।
4. Modifying Structure Fields
স্ট্রাকচারের মান পরিবর্তন বা আপডেট করার জন্য আপনি সরাসরি ফিল্ডের মান সেট করতে পারেন।
Example:
person.age = 35; % Update the age field
person.address.city = 'Los Angeles'; % Update the nested fieldএখানে, person এর age এবং address.city ফিল্ডের মান আপডেট করা হয়েছে।
5. Functions with Structures
স্ট্রাকচারগুলিকে ফাংশনের আর্গুমেন্ট হিসেবে ব্যবহার করা যেতে পারে। ফাংশনে স্ট্রাকচার পাঠানোর সময়, আপনি সেই স্ট্রাকচারের ফিল্ড অ্যাক্সেস করতে পারবেন।
Function Example:
function printPersonInfo(person)
disp(['Name: ', person.name]);
disp(['Age: ', num2str(person.age)]);
end
% Create a structure
person.name = 'John';
person.age = 30;
% Call the function
printPersonInfo(person);এখানে printPersonInfo ফাংশনটি person স্ট্রাকচারকে আর্গুমেন্ট হিসেবে গ্রহণ করেছে এবং তার ফিল্ড name এবং age প্রদর্শন করেছে।
6. Combining Structures
ম্যাটল্যাব-এ বিভিন্ন স্ট্রাকচারকে একত্রিত করা যায়। আপনি নতুন স্ট্রাকচার তৈরি করে পুরানো স্ট্রাকচারের মান সেট করতে পারেন।
Example:
student1.name = 'Alice';
student1.age = 21;
student2.name = 'Bob';
student2.age = 22;
% Combining two structures into one
combinedStudent = struct('student1', student1, 'student2', student2);
disp(combinedStudent.student1.name); % 'Alice'
disp(combinedStudent.student2.age); % 22এখানে, student1 এবং student2 দুটি স্ট্রাকচারকে combinedStudent নামক নতুন স্ট্রাকচারে একত্রিত করা হয়েছে।
Summary
| বৈশিষ্ট্য | Structure | Nested Structure |
|---|---|---|
| ডেটার ধরন | একাধিক ভিন্ন ডেটা টাইপ (যেমন, সংখ্যা, টেক্সট) একত্রে রাখা যায়। | একটি স্ট্রাকচারের ভিতরে আরেকটি স্ট্রাকচার থাকতে পারে। |
| অ্যাক্সেসিং | structureName.fieldName ব্যবহার করে অ্যাক্সেস করা হয়। | structureName.fieldName1.fieldName2 ব্যবহার করে অ্যাক্সেস করা হয়। |
| ব্যবহার | সহজ ডেটা সংরক্ষণ এবং অ্যাক্সেসের জন্য। | জটিল ডেটা কাঠামো তৈরি করতে। |
| উদাহরণ | person.name = 'John'; | person.address.city = 'New York'; |
Conclusion
- Structure হলো একটি গাণিতিক ডেটা কাঠামো যেখানে একাধিক ভিন্ন ধরনের ডেটা রাখা যায়।
- Nested Structure হল একটি স্ট্রাকচার যার ভিতরে আরেকটি স্ট্রাকচার থাকতে পারে, এটি আরও জটিল ডেটা সংগঠনের জন্য ব্যবহৃত হয়।
- MATLAB-এ স্ট্রাকচার এবং নেস্টেড স্ট্রাকচারগুলি অত্যন্ত শক্তিশালী টুল, যা জটিল ডেটা সংরক্ষণ এবং পরিচালনার জন্য ব্যবহৃত হয়।
Read more