یک زبان برنامهنویسی قدرتمند و پیشرفته
همانند بیشتر زبانهای برنامهنویسی معروف مثل جاوا، سیشارپ و غیره، متلب (MATLAB) یک محیط توسعه یکپارچه (IDE) و مجموعهای از کتابخانههای غنی در اختیار توسعهدهندگان قرار میدهد و قادر است از پارادایمهای مختلف برنامهنویسی پشتیبانی کند. بنابراین، امکان استفاده از پارادایمهای مختلف برنامهنویسی مثل تابعی، بصری و شیءگرایی در متلب وجود دارد. کلیو مولر (Cleve Molar)، رئیس بخش علوم کامپیوتر دانشگاه نیومکزیکو، از توسعهدهندگان اولیه این زبان برنامهنویسی قدرتمند شناخته میشود. او در هنگام طراحی این زبان برنامهنویسی، در نظر داشت رویکرد متفاوتی را برای دانشآموزانش ایجاد کند تا عملیات مربوط به جبر خطی و محاسبات عددی را بدون نیاز به استفاده از زبان برنامهنویسی فرترن انجام دهند. کلیو مولر، بههمراه استیو بنگارت و جک لیتل، پس از مشاهده ظرفیتهای بالقوه اقتصادی متلب، در نهایت شرکت MathWorks را در سال 1984 تاسیس کردند. شرکتی که امروزه بهشکل گستردهای از متلب پشتیبانی میکند.
متلب در چه زمینههایی استفاده میشود؟
توابع داخلی متلب، منابع درجه یکی برای انجام محاسبات ارائه میدهند که از آن جمله باید به بهینهسازی، جبر خطی، محاسبات عددی، معادلات دیفرانسیل معمولی (ODE)، تجزیهوتحلیل دادهها، پردازش سیگنال و کارهای علمی اشاره کرد. متلب با ارائه الگوریتمهای مدرن که قابلیت استفاده در حوزههای مختلفی مثل انیمیشنسازی و گرافیکهای دوبعدی و سهبعدی را دارند، دست برنامهنویسان در ساخت پروژههای مختلف را باز گذاشته است. همچنین، متلب از یک رابط خارجی پشتیبانی میکند. کاربر میتواند توابع خود را در زبان متلب ایجاد کند و به همین دلیل، محدود به استفاده از توابع داخلی نیست. علاوه بر این، جعبه ابزارهای اضافی توسط متلب در اختیار برنامهنویسان قرار داده شده تا بتوانند از این زبان برنامهنویسی برای توسعه شبکههای عصبی، محاسبات نمادین، پردازش تصویر، طراحی سیستمهای کنترل و آمار و غیره استفاده کنند.
بهطور کلی، باید بگوییم که زبان برنامهنویسی متلب کاربردهای زیادی در زمینه تحلیل دادهها، توسعه الگوریتمها، ساخت مدل و برنامههای کاربردی دارد. این زبان برنامهنویسی متشکل از ساختارهای مختلفی است که کاربران میتوانند از طریق آنها اعمال ریاضی و محاسباتی را انجام دهند. از کاربردهای دیگر متلب به موارد زیر باید اشاره کرد:
- توسعه الگوریتمها.
- محاسبه جبر خطی و معادلات خطی.
- ترسیم نمودار برای کلاندادهها.
- مصورسازی و تجزیهوتحلیل دادهها.
- محاسبات روی ماتریسهای عددی.
- انجام عملیات روی ماتریس و آرایهها.
- ایجاد ساختارهای دوبعدی و سهبعدی.
- محاسبه معادلات دیفرانسیلی.
- ادغام اطلاعات.
- تبدیل دادهها.
- ساخت منحنی.
متلب چه مزایایی ارائه میکند؟
متلب یک زبان برنامهنویسی سطح بالا نزدیک به زبان انسان، مفسری و شیءگرا است. با اینحال، برعکس بیشتر زبانهای برنامهنویسی، متنباز نیست و برای استفاده از آن باید هزینه پرداخت کنید. البته امکان استفاده رایگان از آن بهمدت 30 روز وجود دارد. متلب در مقایسه با رقبایش مثل Fusion، Mathematica و غیره، به حافظه اصلی بیشتری نیاز دارد. اما مزایای قدرتمندی همچون امکان گرفتن خروجی برای زبانهای سی، سیپلاسپلاس و خروجی گرافیکی بهشکل نمودار و منحنی از کدهای متلب را ارائه میدهد. کدهای متلب با کمک رابط برنامهنویسی کاربردی بهراحتی قابلیت ادغام با زبانهای دیگر مثل جاوا و سی را دارند و میتوان از آنها در هر زیرساختی استفاده کرد. علاوه بر این، میتوان با نصب بسته Hardware Support، از متلب برای ساخت برنامههای کاربردی برای ابزارهایی مثل رزبریپای، آردینو و سایر دستگاههای توکار استفاده کرد. نکتهای که باید به آن دقت کنید این است که شما باید کدهای زبان متلب را تنها در نرمافزار متلب بنویسید و اجرا کنید. از مزایای بالقوه متلب به موارد زیر باید اشاره کرد:
- ارائه کامپایلر قدرتمند برای پردازش برنامهها.
- سهولت در استفاده.
- فارغ از سکو بودن.
- ارائه رابط کاربری گرافیکی کارآمد.
- ارائه توابع ازپیشتعریفشده.
- ارائه سریعترین محیط توسعه یکپارچه برای محاسبات ریاضی مثل ماتریسها و جبر خطی.
- ارائه بهترین کتابخانههای ریاضی برای پشتیبانی از تمامی جنبههای ریاضی، از عملیات ساده ریاضی گرفته تا ماتریس معکوس و غیره.
- ارائه تکنیک چندرشتهای (Multi-Threading) برای تسهیل اجرای موازی الگوریتمها.
- ارائه سیستم گرافیکی (Simulink) کارآمد که دستورهایی برای نمایش دادههای دوبعدی و سهبعدی، پردازش تصویر، نمایش گرافیک و انیمیشن و مصورسازی با کیفیت بالا از نمودارها را ارائه میدهد.
کامپایلر متلب
با تبدیل برنامههای متلب به یک p-code مستقل از ماشین و تفسیر p-code در زمان اجرا، متلب انعطافپذیری و مستقل از سکو بودن را ارائه میکند. مکانیزمی که متلب بر مبنای آن کار میکند، شباهت زیادی به الگوی زبان برنامهنویسی ویژوالبیسیک مایکروسافت دارد. متاسفانه، بهدلیل اینکه کد متلب بهجای کامپایل شدن تفسیر میشود، برنامههای نهایی با سرعت کمی اجرا میشوند. همین مسئله باعث شد تا برنامهنویسان، کامپایلری بر مبنای نمونه اصلی توسعه دهند. با کمک این کامپایلر میتوان برنامههای متلب را به فایلهای اجرایی واقعی تبدیل کرد که سریعتر از کدهای تفسیرشده اجرا میشوند. این یک روش فوقالعاده برای تبدیل یک برنامه آزمایشی متلب به یک فایل اجرایی قابل فروش و ارائه به کاربران است.
سهولت در استفاده
برنامهنویسان میتوانند برنامهها را با دیباگر متلب و محیط توسعه یکپارچه داخلی ایجاد، اصلاح و اشکالزدایی کنند. بد نیست بدانید که متلب برای نمونهسازی سریع ایدههای جدیدی که قرار است به برنامههای بالقوه تبدیل شوند عالی است، زیرا استفاده از آن ساده است و ترکیب نحوی پیچیدهای ندارد. برای کاربرپسند کردن متلب، ابزارهای توسعه گستردهای ارائه شدهاند که مرورگر داخلی، ویرایشگر و ابزار اشکالزدایی یکپارچه، مستندات آنلاین، کتابچههای راهنما و دموهای گسترده از مهمترین آنها هستند.
نقشهبرداری مستقل از دستگاه
دستورالعملهای تصویربرداری و ترسیم اولیه در متلب زیاد و متنوع هستند. این تنوع ارائه نمودارها، باعث شده تا کاربران بتوانند برای انواع مختلفی از دستگاهها، خروجی گرافیکی تولید کنند. این ویژگی باعث شده تا متلب به یک ابزار مصورسازی کارآمد دادهها تبدیل شود.
فارغ از سکو
از آنجایی که متلب قابلیت اجرا روی سیستمهای مختلف را دارد، بالاترین سطح از فارغ از سکو بودن را ارائه میدهد. بهطوری که امکان استفاده از آن در توزیعهای مختلف لینوکس، نسخههای مختلف یونیکس، مکینتاش و ویندوز وجود دارد. برنامههای ایجادشده بر روی هر پلتفرمی بهطور کامل قابلیت اجرا روی پلتفرمهای دیگر را دارند و امکان استفاده از فایلهای داده ایجادشده برای هر پلتفرم روی پلتفرم دیگر وجود دارد. در نتیجه، هر زمان تصمیم گرفتید برنامههای ایجادشده در متلب را به پلتفرم جدید دیگری انتقال دهید، مشکلی نخواهید داشت.
رابط کاربری گرافیکی
رابط کاربری گرافیکی یک برنامه را میتوانید بهصورت تعاملی با استفاده از ابزاری که متلب ارائه میکند ایجاد کنید. در چنین شرایطی، یک برنامهنویس میتواند الگوریتمهای تحلیل داده پیچیدهای ایجاد کند که افراد بیتجربه بدون مشکل قادر به استفاده از آن باشند.
توابع ازپیشتعریفشده
یک کتابخانه توابع ازپیشتعریفشده متلب، راهحلهایی برای بیشتر مشکلات فنی رایج ارائه میدهد. بهعنوان مثال، فرض کنید که ما در حال ساخت نرمافزاری هستیم که باید آمار مربوط به مجموعهای از دادههای ورودی را ارزیابی کند. برای انجام محاسباتی مانند میانگین، انحراف استاندارد، میانگینهای حسابی و سایر محاسبات، باید زیرروالها یا توابع خود را در زبانهای برنامهنویسی مخلتفی توسعه دهیم. بهلطف صدها سرویس مختلف که قبلا در زبان برنامهنویسی متلب گنجانده شده است، این کار بدون مشکلی خاصی قابل انجام است.
کتابخانههای متلب
متلب در حوزههای مختلف مثل پردازش سیگنال، هوش مصنوعی، شبکههای عصبی، یادگیری ماشین، حل معادلات دیفرانسیل و غیره، کتابخانههای کاربردی زیادی دارد. هرچند امکان ایجاد و افزودن کتابخانههای مجزا نیز وجود دارد. علاوه بر این، میتوان از افزونههای شخص ثالث نیز در این زمینه استفاده کرد. توابع و دستورات و نحوه استفاده از کتابخانهها در بخش مستندات این زبان بهشکل مفصل مورد بررسی قرار گرفتهاند.
چه شرکتهایی از متلب استفاده میکنند؟
متلب ابزارهای کاربردی فراوانی در اختیار برنامهنویسان قرار داده است. به همین دلیل صنایع مختلف، بهویژه در حوزه هوافضا و دفاعی، بهشکل گستردهای از آن استفاده میکنند. این شرکتها از متلب در نمونهگیری اولیه و آزمایشهای اولیه نرمافزارهای نوشتهشده به این زبان استفاده میکنند. در صنعت تولید خودرو نیز از متلب در توسعه سیستمهای کنترل و مصرف سوخت استفاده میشود. صنعت دیگری که استفاده گستردهای از متلب دارد، صنعت روباتیک است. بهطور مثال، شرکت Mathworks که توسعهدهنده این زبان است از سختافزارهای متنوعی پشتیبانی میکند که قابلیتهای کارآمدی برای ساخت رباتهای با قابلیتهای پیشرفته بر مبنای این زبان در اختیار متخصصان قرار داده است.
معایب متلب
از آنجایی که مزایای مختلف متلب را بررسی کردیم، اکنون وقت آن رسیده تا معایب متلب را نیز بررسی کنیم. از معایب مهم متلب باید به هزینه بالا و تفسیری بودن آن اشاره کرد.
هزینه
بهطور معمول، هزینه استفاده از متلب چند برابر بیشتر از زبانهای برنامهنویسی رایجی است که شرکتها از آن استفاده میکنند. با این حال، متلب برای سازمانها و بهویژه محیطهای دانشگاهی مقرونبهصرفه است، زیرا سازمانها از طریق ساخت پروژههای کاربردی علم دادهها یا یادگیری ماشین بهسرعت بازگشت سرمایه را تجربه میکنند. امروزه، متلب در برخی دانشگاههای کشور بهعنوان یک زبان برنامهنویسی به دانشجویان آموزش داده میشود. بهطور معمول، دانشجویان رشته الکترونیک آشنایی خوبی با این زبان دارند. خوشبختانه، متلب نسخه دانشجویی کمهزینهای ارائه داده که یک منبع فوقالعاده برای دانشآموزان و دانشجویانی است که میخواهند آن را یاد بگیرند. نسخه دانشجویی متلب مجهز به قابلیتهای پایهای است که جوابگوی نیازهای دانشجویان است.
زبان مفسری
این واقعیت که متلب یک زبان تفسیری است، غیرقابلانکار است و از اینرو ممکن است کندتر از یک زبان کامپایلری اجرا شود. البته، همانگونه که اشاره کردیم، راهکارهایی برای حل این مشکل ارائه شده و البته با اعمال کمی تغییرات این مشکلات قابل حل هستند.
برای استفاده از متلب به چه چیزی نیاز داریم؟
متلب روی بیشتر سیستمعاملهای مدرن امروزی قابل نصب است. اگر قصد استفاده از متلب روی سیستمعامل ویندوز را دارید، باید از نسخه 64 بیتی ویندوز استفاده کنید. متلب قابلیت نصب روی ویندوز 7 سرویس پک 1، ویندوز 10، ویندوز 11، ویندوز سرور 2016، 2019 و 2022 را دارد. همچنین، به حداقل 4 گیگابایت حافظه اصلی که البته
8 گیگابایت توصیه میشود و حداقل 2.9 گیگابایت فضای آزاد روی هارد دیسک نیاز دارد. اگر تمایل دارید کدها و برنامهها بهسرعت پردازش و اجرا شوند، بهتر است متلب را روی حافظه حالت جامد (SSD) نصب کنید. علاوه بر این، کارت گرافیکی نصبشده روی سیستم باید حداقل 1 گیگابایت حافظه داشته باشد و از OpenGL 3.3 پشتیبانی کند. پردازنده مرکزی باید معماری x86-64 داشته باشد و از مجموعه دستورالعملهای AVX2 پشتیبانی کند. پردازنده مرکزی باید مجهز به 4 هسته منطقی باشد.
دانلود و نصب متلب
فرآیند نصب متلب پیچیدگی خاصی ندارد و همانگونه که اشاره شد، نسخههای مختلفی از متلب برای کاربردهای مختلف ارائه شدهاند. بهعنوان مثال، نسخههای مخصوصی برای مدارس، استارتآپها، شرکتها و استفاده فردی ارائه شده است. هر یک از این نسخهها، قابلیتهای کاربردی مختلفی در اختیار کاربران قرار میدهد. البته همانگونه که اشاره شد، امکان استفاده 30 روزه از آن بدون پرداخت هزینه وجود دارد. برای شروع مراحل زیر را دنبال کنید:
مرحله 1
برای دانلود متلب به وبسایت رسمی به نشانی www.mathworks.com مراجعه کنید، زبان موردنظر را انتخاب کنید و گزینه دانلود نرمافزار آزمایشی را کلیک کنید.
مرحله 2
پس از کلیک بر روی لینک آزمایشی نرمافزار، یک صفحه وب جدید دانلود ظاهر میشود که باید در کادر مربوطه، آدرس ایمیل خود را تایپ کنید.
مرحله 3
در ادامه، از شما خواسته میشود تا حساب کاربری خود را ایجاد کرده و به برخی پرسشهای فنی پاسخ دهید. علاوه بر درخواست مکان و آدرس ایمیلی که قبلا ارائه کردهاید، از شما سوال میشود که قصد دارید از نرمافزار متلب برای چه منظوری استفاده کنید. استفاده شخصی یا استفاده سرگرمی را انتخاب کنید و سپس روی ایجاد کلیک کنید.
مرحله 4
صفحه جدیدی باز میشود. ایمیلی را که درج کردهاید انتخاب کنید. در این حالت ایمیلی از طرف MathWorks برای شما ارسال میشود. ایمیل را باز کنید و روی لینک تایید کلیک کنید. پس از کلیک روی ایمیل تایید، به صفحه جدیدی وارد میشوید که امکان دانلود نرمافزار را میدهد.
مرحله 5
ابتدا نصبکننده متلب را دانلود کنید و سپس الزامات مرتبط با محیط متلب را تنظیم کنید. هنگامی که فایل دانلود شد، روی فایل اجرایی کلیک کنید. اکنون پنجره نصبکننده MathWorks ظاهر میشود (شکل 1).
شکل 1
از آنجایی که گزینه اول، Log in with a MathWorks Account، بهصورت پیشفرض انتخاب شده، از آن استفاده خواهیم کرد. روی دکمه Next کلیک کنید. در مرحله بعد، آدرس ایمیل و رمز عبور خود را در فیلدهای مربوطه وارد کنید (شکل 2).
شکل 2
مرحله 6
شناسه مجوزی که قبلا انتخاب شده است با پسزمینه آبی در کادر انتخاب مجوز برجسته میشود. در اینجا، باید شناسه مجوز خود را انتخاب کنید. این شناسهای است که در ادامه به آن نیاز خواهیم داشت، بنابراین پیشنهاد میکنیم آنرا یادداشت کنید و دکمه Next را کلیک کنید (شکل 3).
شکل 3
برای نصب متلب نیازی به تغییر محل پوشه نیست. روی Next کلیک کنید (شکل 4).
شکل 4
مرحله 7
در مرحله بعد به پنجره انتخاب محصول میرسیم. در حالت پیشفرض، جدیدترین نسخه نرمافزار متلب انتخاب میشود. همچنین، میتوانید، افزونههای جانبی متلب را نیز نصب کنید. پس از انتخاب گزینههای موردنظر، روی Next کلیک کنید (شکل 5).
شکل 5
در مرحله بعد، پنجره Installation Selections ظاهر میشود. گزینههای مدنظر را انتخاب کنید. اکنون پنجره Confirmation ظاهر میشود. در اینجا، تنها کاری که باید انجام دهید این است که مواردی را که بهعنوان بخشی از نصب متلب و بستههای الحاقی آن دانلود میکنید، تایید کرده و Install را کلیک کنید. دانلود همه الزامات پس از کلیک روی Install شروع میشود. از آنجایی که حجم فایلها زیاد است، باید صبور باشید.
مرحله 8
پس از دانلود همه موارد و اتمام نصب، پیامی مبنی بر اینکه متلب باید فعال شود نمایش داده میشود. اکنون، روی Next کلیک کنید (شکل 6).
شکل 6
پنجره جدیدی ظاهر میشود که آدرس ایمیل و شناسه مجوز برای دسترسی به آیتمها را درخواست میکند. شناسهای را که قبلا یادداشت کردهاید وارد کنید و دکمه تایید را کلیک کنید. اکنون فرآیند نصب متلب کامل شده و قادر به استفاده از آن هستید. روی دکمه Finish کلیک کنید. آیکون متلب روی صفحه دسکتاپ ظاهر میشود. با کلیک بر روی آن محیط اصلی نرمافزار ظاهر میشود. اکنون اجازه دهید بهشکل اجمالی، محیط متلب را بررسی کنیم.
محیط متلب (معرفی فضای کاری)
در متلب سه نوع پنجره اصلی به شرح زیر وجود دارد:
- Command Windows: برای وارد کردن دستورات استفاده میشود.
- Edit Windows: برای ویرایش کدهای نوشتهشده و ویرایش آنها استفاده میشود.
- Figure Windows: نمودارها و گرافها را نشان میدهد.
پنجره فرمان
پنجره اصلی محیط توسعه یکپارچه متلب است. خط فرمان متلب (<<) جایی است که دستورات را دریافت میکند. هنگامی که پروژه جدیدی را آغاز میکنید، متلب از طریق پنجره فوق این مسئله را به شما نشان میدهد. شما تمام دستورالعملهای متلب، از جمله دستورالعملهای اجرای برنامهها را در این پنجره وارد میکنید. این پنجره در متلب بخشی از برنامه است که شامل پنجرههای کوچکتر دیگری میشود. محیط اجرایی متلب بههمراه پنجره فوق در شکل ۷ نشان داده شده است.
پنجره ویرایشگر
برنامههای ما در فایلهای با پسوند M نوشته، ویرایش، ایجاد و ذخیره میشوند. ویرایشگر داخلی متلب پشتیبانی خوبی در این زمینه ارائه میدهد. با اینحال، میتوانیم از ویرایشگر خودمان استفاده کنیم و بعد کدها را به ویرایشگر متلب انتقال دهیم. هنگامی که قصد استفاده از متلب را دارید باید در مورد کاراکترها اطلاعات کافی جمعآوری کنید. یکی از کاراکترهای مهم متلب که باید در مورد آن اطلاع داشته باشید علامت تعجب (!) است. این کاراکتر باعث میشود متلب بهطور موقت کنترل را به سیستمعامل محلی انتقال دهد تا دستورات را اجرا کند.
پنجره شکلها یا گرافیک
پنجره گرافیک، یک پنجره خاکستری متمایز با رنگ پسزمینه سفید است که خروجی هر دستور گرافیکی را که ما در پنجره فرمان کپی کردیم، دریافت میکند. اگر حافظه کافی روی سیستم وجود داشته باشد، مشکلی در باز کردن نامحدود این پنجرهها وجود ندارد.
چند پرسش رایج درباره متلب
متلب در چه زمینههایی استفاده میشود؟
- مهندسان و دانشمندان میتوانند از محیط برنامهنویسی متلب برای تجزیهوتحلیل، ایجاد و آزمایش سیستمها و فناوریهای دنیای واقعی استفاده کنند. متلب یک زبان مبتنی بر ماتریس است که کارآمدترین قابلیتها برای مباحث ریاضی را ارائه میدهد.
امکان کدنویسی در متلب وجود دارد؟
- متلب یک زبان برنامهنویسی سطح بالا است که بهطور مستقیم ریاضیات ماتریسی و آرایهها را پیادهسازی میکند. کاربران میتوانند کارهای مختلفی در متلب انجام دهند که اجرای دستورات تعاملی اولیه تا ایجاد برنامههای پیچیده را شامل میشود. بنابراین، پاسخ مثبت است.
در متلب از چه زبانی استفاده میشود؟
- متلب خود یک زبان برنامهنویسی کاربردی سطح بالا است.
آیا متلب همان سیپلاسپلاس است؟
- در حالی که کدهای متلب امکان کامپایل به کدهای سیپلاسپلاس را دارند، اما متلب خود یک زبان برنامهنویسی است. متلب از یک کامپایلر JIT برای تبدیل اسکریپتهای برنامهنویسان به کد ماشین استفاده میکند.
مبانی اولیه تسلط بر متلب چیست؟
برای آنکه در زمینه کار با متلب موفق شوید باید بهفکر یادگیری مفاهیم زیر باشید:
- تسلط بر رابط کاربری گرافیکی متلب.
- آشنایی با نحوه وارد کردن دستورات و ساخت متغیرها.
- تجزیهوتحلیل ماتریسها و بردارها.
- نمایش دادههای ماتریسها و بردارها.
- استفاده از فایلهای دادهای.
- توانایی استفاده از نوعهای دادهای مختلف.
- توانایی استفاده از اسکریپتها برای خودکارسازی دستورات.
- ایجاد برنامهها از طریق بهکارگیری حلقهها و انشعابات.
متلب یک ابزار است یا یک زبان؟
- متلب یکی از محبوبترین ابزارها برای تحقیق، تجزیهوتحلیل و توسعه است. جعبه ابزار متلب راهحلهای خاصمنظوره و قدرتمندی در اختیار متخصصان قرار میدهد. بنابراین، متلب را باید یک ابزار برنامهنویسی کارآمد توصیف کنیم که امکان استفاده از آن برای پروژههای پیچیده و فنی وجود دارد.