ম্যাটল্যাব: কি এবং কেন?
- প্রয়াস জামান
- Sep 1, 2019
- 3 min read
ম্যাটল্যাবকে বলা হয়ে থাকে The language of technical computing. খুব কম ধরনেরই ম্যাথেমেটিক্যাল এক্সপ্রেশন আছে যেটা ম্যাটল্যাব দিয়ে সমাধান করা সম্ভব নয়। আমাদের দেশেরও বেশ কিছু ইউনিভার্সিটিতে বিশেষত ইঞ্জিনিয়ারিং বিষয়ে পড়ছেন এমনদের ম্যাটল্যাব সংক্রান্ত ব্যাপারগুলো ঘাঁটাঘাটি করতে হয় বা এই প্রোগ্রামিং ল্যাঙ্গুয়েজটা শিখতে হয়। যাদের উচ্চশিক্ষার ইচ্ছা আছে তাদেরও এটা শিখতে হয় কারণ দেশে-বিদেশে অনেক প্রফেসরই এই হাই লেভেল ল্যাঙ্গুয়েজটা প্রেফার করেন বেশি গবেষণালব্ধ ডাটা রিপ্রেজেন্টেশনের জন্য।
ব্যাপারটা এমন না যে অন্য ডিসিপ্লিনের কেউ এটা শিখতে পারবেন না বা তেমন অতিরিক্ত কোন দক্ষতার প্রয়োজন হয় এটা শিখতে। আমি নিজেও ইঞ্জিনিয়ারিং ব্যাকগ্রাউন্ডের নই। প্রোগ্রামিং সম্পর্কে নূন্যতম ধারণা আছে এমন যে কেউই আসলে ম্যাটল্যাব শিখতে পারবেন। এমনকি আমার বিশ্বাস যাদের শেখার প্রবল আগ্রহ আছে তারা প্রোগ্রামিং সম্পর্কে পূর্বাপর জ্ঞান না থাকলেও ম্যাটল্যাবের অন্তত বেসিকটা শিখতে পারবেন।
ম্যাটল্যাবেরও কিছু অল্টারনেটিভ আছে যেমন R, FORTRAN, Octave, Mathematica, SigmaPlot ইত্যাদি। বাট ট্রাস্ট মি, ম্যাটল্যাব ইজ আ জেম । এবার আসি এর কিছু সাধারণ ব্যবহার নিয়ে। এই অংশটুকু সকল ডিসিপ্লিন, যাদের সামান্য ক্যালকুলেশন থেকে ডিফারেন্সিয়াল ইকুয়েশন এর ব্যাবহার আছে তাদের জন্য। ম্যাটল্যাবকে আপনি একটা শক্তিশালী ক্যালকুলেটর হিসেবে ব্যাবহার করতে পারেন। উদাহরণ, যেমন ধরুন যারা সি প্রোগ্রামিং করেছেন বা জাভা করেছেন তারা এক থেকে দশ পর্যন্ত স্ক্রিনে প্রিন্ট করতে বা যোগ করতে বা কোন সাধারণ অপারেশনে যে সময় লাগবে বা যে লুপ, অ্যারে রিলেটেড কোড লিখতে যে সময় লাগবে তার চেয়ে অনেক কম সময় লাগবে ম্যাটল্যাবে সেটা করতে । যারা প্রোগ্রামিং করেছেন তারা নিশ্চয়ই আমার পয়েন্টটা ধরতে পেরেছেন। ম্যাটল্যাবের কমান্ড মডিউলও খুবই ইউজার ফ্রেন্ডলি।
ম্যাটল্যাবের অন্যতম সফলতা হলো এটার ম্যাট্রিক্সের বহুল ব্যাবহার। ম্যাটল্যাবে অধিকাংশ ডাটাই ম্যাট্রিক্স রিলেট করে করা হয় এবং এটার জন্য ম্যাট্রিক্সের উপর বেসিক জ্ঞান থাকলেই চলে। ফাংশনের ব্যাবহার প্রচুর। খুব কম প্রোগ্রামিং ল্যাংগুয়েজই ভেক্টর ডাটাকে ভালোভাবে ম্যানিপুলেট করতে পারে। এদিক দিয়ে ম্যাটল্যাব অত্যন্ত শক্তিশালী একটা টুল।
গ্রাফিকস বা ডাটা প্লট ম্যাটল্যাবের খুব কার্যকর একটা সেগমেন্ট। হেন কোন গ্রাফ বা প্লট নাই যেটা ম্যাটল্যাব দিয়ে সম্ভব না। আর ম্যাটল্যাবে প্লট করার জন্য আপনাকে বেসিক জানলেই চলবে। ম্যাটল্যাবের প্লট বা গ্রাফ সবচেয়ে বেশি জনপ্রিয়। ত্রিমাত্রিক প্লট বা গ্রাফ যেমন Surface Plot, mesh plot, contour plot, comet সবচেয়ে ইফিশিয়েন্ট ওয়েতে করা যায় ম্যাটল্যাবেই। মাইক্রোসফট এক্সেলের চেয়ে খানিকটা কঠিন হলেও এটার ম্যাকানিক্স মাইক্রোসফট অফিসের চেয়ে যোজন যোজন বেশি। মাইক্রোসফট এক্সেলে আপনাকে ডাটা দিয়ে তারপর গ্রাফ জেনারেট করতে হয় কিন্ত ম্যাটল্যাবে আপনাকে কেবল মাত্র প্রথম পয়েন্ট , ব্যাবধান আর এন্ডিং পয়েন্ট দিয়েই গ্রাফ জেনারেট করার সুবিধা দেয়। অর্থাৎ আপনি ডাটা ছাড়াই গ্রাফ ড্র করতে পারবেন এবং ডাটা গ্রাফ থেকে বের করতেও পারবেন। এটা হলো সিমুলেশনের বেসিক একটা কথা।
এছাড়াও এক্সটার্নাল ডাটা ইনপুট এবং কোন এক্সেল ফাইল থেকে ডাটা পড়ার সুবিধা থাকছেই।
সিমুলিংক (Simulink) ও গাইড (GUIDE-Graphical User Interface Development Environment) ম্যাটল্যাবের দুটি এডভান্সড সেগমেন্ট। সিমুলিংক দিয়ে কোন রিয়াল সিস্টেম যেমন হার্ডওয়ার কন্ট্রোল ও সার্কিট ডিজাইন করা যায়। আর গাইড দিয়ে কোন সোফিস্টিকেটেড সফটওয়্যার বা এক্সিকিউটেবল ফাইল (.exe) তৈরি করা যায়। এটা এক ধরনের ফ্রেমওয়ার্ক অর্থাৎ হার্ডকোর প্রোগ্রামার হওয়া ছাড়াও আপনি এটা ব্যাবহার করতে পারেন। যারা ভিজ্যুয়াল বেসিক করেছেন তারা এটা ভালোভাবে বুঝবেন এবং এটা দিয়ে বিভিন্ন সায়েন্টিফিক ইকুয়েশন সলভ করার সফটওয়্যার বানাতে পারবেন। এখানে উল্লেখ করা যায় যে কোন সায়েন্টিফিক সফটওয়্যার নির্মানও কিন্ত সায়েন্টিফিক ওয়ার্কের মধ্যে পড়ে এবং আপনি আপনার সফটওয়্যারের বৈশিষ্ট্য পেপার আকারে জার্নালে প্রকাশ করতে পারেন। একটা খুব কমন জার্নাল আছে এলসভিয়ারের যারা এই ধরনের সফটওয়্যারের পেপার পাবলিশ করে। জার্নালের নাম SoftwareX.
বিভিন্ন সুযোগসুবিধা দিয়ে ম্যাটল্যাব ম্যাটওয়ার্কসের সাইট থেকে কিনতে পাওয়া গেলেও ম্যাটল্যাবের ক্র্যাক ভার্শন বিভিন্ন টরেন্ট সাইটে ও সিডিতে পাওয়া যায়, সিরিয়াল-কি (Serial Key) ব্যাবহার করে ইনস্টল করা যায়। ম্যাটল্যাবের বেশ বড়সড় একটা সমস্যা হলো এটা তুলনামূলক ভারী একটি সফটওয়্যার, সব মিলিয়ে সাড়ে সাত গিগাবাইটের সামান্য বেশি ( দুই গিগাবাইট সফটওয়্যার) । ইনস্টল করতেও মোটামুটি ঘন্টা দেড়েক লাগে। সো যদি ইনস্টল করতে বসে পড়েই থাকেন, দয়া করে অধৈর্য্য হবেন না। সি ড্রাইভে দশ জিবি নূন্যতম খালি রাখবেন এবং প্রসেসর নূন্যতম কোর আই থ্রি এবং এর উপরের হলে ভালো হয়। অবশ্য ডুয়েল কোরেও আমি চালাচ্ছি। খুব হ্যাং করে এবং চালু হবার এবং টার্মিনেট করার পর বেশ খানিকক্ষণ পিসি ইনসেনসিটিভ হয়ে থাকে।
বাংলাদেশে ম্যাটল্যাব শেখার জন্য বেশ ভালো একটা বই লিখেছেন বুয়েটের সাবেক শিক্ষার্থী আরিফুজ্জামান ফয়সাল । বইয়ের নাম ম্যাটল্যাব পরিচিতি- ইন্ট্রো টু ম্যাটল্যাব। রকমারিতে পাবার কথা।
তবে আমার মতে ম্যাটল্যাবের অরিজিনাল যে বই ( ম্যাথওয়ারকস ম্যাটল্যাব) কালেক্ট করতে পারলে ভালো, না হলেও সমস্যা নাই। ইউটিউবে চমৎকার সব টিউটোরিয়াল আছে। সেখান থেকে শিখতে পারেন।
বাংলায় আলমগীর হোসেন নামের এক ভাইয়ের বাংলায় ম্যাটল্যাবের টিউটোরিয়ালগুলোও বেশ ভালো। (https://youtu.be/BPSvWyUIv1Q) .
আর ম্যাটল্যাবের নির্মাণ প্রতিষ্ঠান ম্যাথওয়ার্কসের ভিডিও টিউটোরিয়ালতো আছেই।
আজ এতটুকুতেই শেষ করি। আরো জানার আগ্রহ থাকলে জানাতে পারেন, কিংবা পরামর্শ থাকলেও জানাতে ভুলবেন না।
Commentaires