اگر به حوزه برنامهنویسی علاقه داشته باشید، قطعا نام نرمافزار متلب را شنیدهاید. زبان برنامه نویسی متلب جزء نسل چهارم محسوب شده و محیطی برای محاسبات عددی، تجسم و توسعه نرمافزارهای تجاری میباشد. واژه متلب (MATLAB) از ترکیب دو واژه لاتین ماتریکس (Matrix) و آزمایشگاه (Laboratory) تشکیل شده است. دلیل اصلی این نامگذاری، محوریت ماتریس در این زبان است به گونهای که اعداد منفی نیز ماتریس محسوب میشوند. در ادامه مطلب قصد داریم بیشتر با زبان برنامه نویسی متلب و چگونگی نوشتن آن آشنا شویم.
در سالهای پایانی دهه ۷۰، شخصی به نام کلیو مولر که جزء موسسان کمپانی مثورکس بود، زبان برنامه نویسی متلب را ارائه کرد؛ محاسبهگر ماتریس، اولین برنامهای بود که با استفاده از این زبان ایجاد شد. سپس در سال ۲۰۰۰ بود که متلب مورد بازنویسی قرار گرفت و کتابخانههای کاربردی در زمینههای گوناگون صنعت، مخابرات، فضانوردی، پزشکی، کنترل و… به آن افزوده شد؛ همین امر موجب شد که متلب مورد توجه متخصصان زیادی قرار بگیرد.
در واقع باید بگوییم که متلب به جهت استفاده دانشمندان و مهندسان ایجاد شده است؛ زیرا به کمک آن میتوانند ماتریسها و معادلات ریاضی را در برنامههای گوناگون به کار ببرند. همچنین امکان استفاده از تجزیه و تحلیل دادهها، جبر خطی، پردازش سیگنال و تصویر و طراحی کنترل نیز وجود دارد. برنامهنویسان به کمک این نرمافزار قادر خواهند بود که مسائل دشوار و پیچیده ریاضی را به زبان کامپیوتر بازگردانی و با سرعت بیشتری آنها را حل کنند. همچنین لوگوی مطلب از شروع فعالیت خود تا الان، دستخوش تغییرات زیادی نشده و معادله طول موج را نمایش میدهد.
آشنایی با اجزای سیستم متلب
به طور کلی سیستم مطلب از ۵ قسمت اصلی تشکیل شده است که در ادامه مطلب هر یک از آنها را توضیح خواهیم داد.
زبان برنامه نویسی متلب
متلب یک زبان سطح بالای ماتریس است که دارای ویژگیهای شیگرا و مفسری بوده و به کمک آن میتوان برنامههای ساده و پیشرفته تولید کرد.
محیط کاربری متلب
این محیط دارای ابزار و امکانات گسترده و متنوعی است که برنامه نویسان از آنها استفاده میکنند.
کنترل گرافیک
سیستم گرافیکی متلب از دستورات سطح بالایی تشکیل شده که دادههای ۲ بعدی، ۳ بعدی، پردازش تصویر، انیمیشن و گرافیک را اجرا میکنند. البته متلب دستورات سطح پایینی نیز دارد که با آن میتوانید طراحی ظاهر گرافیکی برنامههای خود را به شکل سفارشی انجام دهید.
کتابخانه توابع ریاضی متلب
این مجموعه شامل الگوریتمهای محاسباتی مختلفی از جمله توابع ابتدایی مثل سینوس و کسینوس و توابع پیچیده مثل ماتریس معکوس میشود.
رابط برنامههای کاربردی متلب
نوعی کتابخانه است که به شما این امکان را میدهد که برنامههای فرترن و C که با متلب تعامل دارند را بنویسید. این رابط دارای امکاناتی مانند فراخوانی روال از متلب، استفاده از متلب به عنوان موتور محاسبه و خواندن و نوشتن با فایلهای Mat است.
ویژگیهای زبان برنامه نویسی متلب
زبان برنامهنویسی متلب جزء زبانهای سطح بالا، مفسری و شیگرا محسوب شده و بر خلاف بیشتر زبانهای دیگر، متن باز نیست؛ در واقع باید گفت که تهیه آن مبلغی حدود ۵۰ هزار دلار هزینه دارد، اما پیش از آن میتوانید حدود ۳۰ روز به طور رایگان از آن استفاده کنید. متلب نسبت به رقبای خود مانند Mathematica یا Fusion و… نیاز به فضای رم بیشتری دارد اما در عوض امکان خروجی گرفتن به صورت C و C++ و حتی خروجی گرافیکی به شکل نمودار و منحنی را دارد.
از طرف دیگر، کدهای زبان برنامه نویسی متلب به راحتی با استفاده از API میتوانند با زبانهای دیگر مانند جاوا و C ادغام شوند و در هر نوع زمینهای به کار بروند. در صورتی که پکیج Hardware Support را نصب کنید، قادر خواهید بود برای ابزارهایی مثل رزبری پای، آرودینو، تجهیزات پزشکی مانند MRI و… برنامه بنویسید. البته توجه داشته باشید که زبان برنامه نویسی متلب را تنها در نرمافزار خود میتوان نوشت و امکان اجرای آن در سایر محیطهای توسعه برنامه نویسی وجود ندارد.
کاربردهای متلب
زبان برنامه نویسی متلب دارای کاربردهای بسیار زیادی در رشتههای مختلف مانند مهندسی، شیمی، فیزیک و ریاضی است و از جمله برنامههایی که توسط این زبان ایجاد شدهاند، میتوان به موارد زیر اشاره اشاره کرد:
- برنامه پردازش سیگنال و مخابرات
- برنامه پردازش فیلم و تصویر
- سیستمهای خودکار
- برنامه تست و اندازهگیری
- امور مالی محاسباتی
- زیستشناسی محاسباتی
همانطور که اشاره کردیم، متلب دارای کاربرد بسیاری در رشته ریاضی است و کتابخانههای گستردهای را جهت انجام دادن عملیات ریاضی، در اختیار برنامهنویسان قرار میدهد. به همین علت، به شکل قابل توجهی برای فرایندهای پیچیده ریاضی مورد استفاده قرار میگیرد. از جمله محاسباتی که با زبان برنامه نویسی متلب انجام میشوند، میتوان به موارد زیر اشاره کرد:
- رسم گرافیک ۲ و ۳ بعدی
- جبر خطی
- معادلات جبری
- آمار
- حساب و معادلات دیفرانسیل
- توابع غیر خطی
- تحلیل دادهها
- محاسبات عددی
- ادغام
- تبدیل
- ایجاد منحنی
از جمله مزایای دیگر متلب، داشتن کتابخانههای گوناگون در حوزههای مختلفی مانند پردازش سیگنال، شبکههای عصبی، هوش مصنوعی، حل معادلات دیفرانسیل، یادگیری ماشین و… است که هر کدام کاربردهای بسیاری دارند.
همچنین این امکان وجود دارد که کتابخانههای دیگری ایجاد یا اضافه کرد. حتی میتوانید از پلاگینهایی تحت عنوان Add-Ons استفاده کنید. در نظر داشته باشید که در بخش Documentation نرمافزار متلب، توابع و دستورات مربوط به استفاده از کتابخانهها وجود دارد و دیگر نیازی به منابع جداگانه برای یادگیری نخواهید داشت.
صنایع وابسته به متلب
همانطور که اشاره کردیم، متلب ابزارهای بسیاری در اختیار برنامه نویسان قرار داده و به همین جهت در صنایع بسیاری از جمله صنایع هوافضا و صنایع دفاعی کاربرد دارد. در واقع متلب این امکان را میدهد که این صنایع بتوانند نمونههای اولیه خود را آزمایش کنند. همچنین در صنعت خودرو برای توسعه سیستمهای کنترل و مصرف سوخت، از زبان برنامه نویسی متلب استفاده میشود. صنعت رباتیک نیز وابستگی زیادی به متلب دارد، چراکه شرکت Mathworks از سختافزارهای زیادی پشتیبانی کرده و همین موضوع باعث شده رباتهای پیشرفتهتری نسبت به گذشته تولید شوند.
ویژگیهای زبان متلب
در ادامه مطلب قصد داریم مزایای زبان برنامه نویسی متلب را بررسی کنیم که موجب محبوبیت آن شدهاند.
سهولت استفاده
متلب نوعی زبان مفسری است که میتوانید به راحتی در محیط آن، یک برنامه را بنویسید و اصلاح کنید.
پشتیبانی از سیستمعاملهای مختلف
یکی از مزایای متلب این است که در بیشتر سیستمهای کامپیوتری با سیستمعاملهای ویندوز، مک و لینوکس پشتیبانی میشود.
توابع از پیش تعریف شده
وجود کتابخانهها باعث شده تا توابع بسیاری از پیش تعریف شده باشند.
رسم مستقل از دستگاه
متلب بر خلاف بیشتر زبانها، دارای دستورات زیادی برای رسم و تصویر برداری است که هر کدام را میتوان روی وسیله خروجی گرافیکی مجزا نمایش داد.
واسط گرافیکی کاربر
ابزاری در متلب پیشبینی شده است که برنامه نویس میتواند به کمک آن یک واسط گرافیکی ایجاد کند. با این قابلیت میتوانید برنامههای پیچیده تجزیه و تحلیل دادهها را به شکلی طراحی کنید که حتی کاربران تازهکتر نیز بتوانند از برنامه استفاده کنند.
اما به طور کلی هر سیستمی در جهان دارای ایراد است و متلب نیز از این قاعده مستثنی نیست. به طور کلی میتوان به ۲ ایراد اساسی در متلب اشاره کرد که به شرح زیر میباشند.
سرعت پایین
همانطور که اشاره کردیم، زبان برنامه نویسی متلب یک زبان مفسری و بوده و به همین علت در مقایسه با زبانهای کامپایلری، از سرعت کمتری برخوردار هستند.
هزینه بالا
برای گرفتن یک کپی کامل از متلب باید مبلغی حدود ۵ تا ۱۰ برابر کامپایلر C با فرترن پرداخت کنید که از این جهت برای کسب و کارها، مقرون به صرفه نخواهد بود.
آشنایی با جعبهابزارهای متلب
خوشبختانه هر سال شرکت سازنده و گروههای گوناگون مانند دانشگاهها و شرکتهای مهندسی، جعبهابزارهایی به متلب اضافه میکنند که موجب کارایی بهتر و افزایش محبوبیت آن میشوند. در ادامه مطلب به تعدادی از این جعبهابزارها اشاره خواهیم کرد.
- سیمیولینک
- جعبهابزار مخابرات متلب
- جعبهابزار کنترل متلب
- جعبهابزار فازی متلب
- جعبهابزار محاسبات متلب
- جعبهابزار تخمین متلب
- جعبهابزار آمار متلب
- جعبهابزار جمعآوری داده متلب
- جعبهابزار شبکه عصبی متلب
- جعبهابزار پردازش تصویر متلب
- جعبهابزار پردازش صوت متلب
- جعبهابزار احتمالات متلب
- جعبهابزار محاسبات سمبلیک متلب
- جعبهابزار کارگاه بیدرنگ متلب
زبان برنامه نویسی متلب در مقابل خود، رقبای بسیاری را میبیند که با هر کدام از آنها میتوانید کارهای مشابه را انجام دهید. تعدادی از این نرمافزارها به شرح زیر هستند:
- متمتیکا
- متکد
- مبپل
- مکسیما
- گنو آکتیو
- سایلب
همانطور که گفتیم، متلب یک زبان برنامه نویسی نسل چهارم و سطح بالا است که بر پایه ماتریسها فعالیت کرده و تمام اطلاعات آن به صورت ماتریس ذخیره میشوند. در ادامه مطلب با ساختار و ویژگیهای زبان برنامه نویسی متلب آشنا شدیم و به مزایا و معایب آن اشاره کردیم. به طور کلی متلب در صنایع مختلف دارای کاربرد بسیاری بوده و به علت داشتن کتابخانههای گسترده، امکانات زیادی در اختیار برنامهنویسان و مهندسان قرار میدهد.