متلب و سیمولینک

نرم افزار MATLAB، ابزارها و کاربردهای آن

نکات برگزیده مقاله

  • تاریخچه MATLAB
  • کاربردهای MATLAB
  • معرفی Simulink و ابزارهای Help و Profiler

تقریبا غیر ممکن است وارد دانشگاه یا محیط برنامه نویسی شده باشید و نام متلب را نشنیده باشید. نرم افزار متلب یک نرم افزار محاسباتی و همچنین زبان برنامه نویسی نسل چهار است. واژه ی MATLAB از ترکیب دو واژه ی MATrix به معنای ماتریس و LABoratory به معنای آزمایشگاه به وجود آمده است. یا به عبارت دیگر متلب کوتاه شده آزمایشگاه ماتریس است. این نام به دلیل رویکرد بر پایه ماتریس برنامه است. در ادامه، متلب را از زوایای مختلف بررسی می کنیم با ما همراه باشید .

تاریخچه MATLAB

ابتدا گذری کوتاه به تاریخچه پایه گذاری و توسعه این نرم افزار بسیار کاربردی داشته باشیم. توسعه متلب در اواخر دهه هفتاد توسط مدیر بخش دانشگاه نیو مکزیکو آغاز شد. هدف ابتدایی از توسعه این برنامه دسترسی دانشجویان به LINPACK (کتابخانه نرم افزاری برای محاسبات جبر خطی عددی که به زبان برنامه نویسی فورترن نوشته شده است) و EISPACK (کتابخانه نرم افزاری برای محاسبات ویژه ماتریس ها که به زبان برنامه نویسی فورترن نوشته شده است)، بدون نیاز به Fortran بود. طولی نکشید که این موضوع به سایر دانشگاه های جهان ورود پیدا کرد. در ادامه یکی از مهندسان دانشگاه استنفورد به نام مهندس جک لیتل با مدیر بخش علوم کامپوتر دانشگاه نیو مکزیکو که کلور مولر نام داشت ملاقات کرد و با متلب آشنا شد. او زمانی که پی برد متلب پتانسیل تجاری شدن را دارد تصمیم به همکاری با مولر گرفت. تا اینکه در سال ۱۹۸۴ شرکت مث ورکس ( MATH WORKS) را پایه گذاری کردند و در همان سال MATLAB را که کمک زبان C ایجاد شده بود را منتشر کردند .

مث ورکس که به عنوان توسعه دهنده متلب شناخته می شود، دفتر مرکزی آن در آمریکا قرار دارد و حدود سه هزار و پانصد نفر کارمند دارد که بخشی از آن ها در خارج از آمریکا مشغول به کارند. این شرکت از ابتدای تأسیس، سود دهی نسبتا بالایی داشته به طوری که طبق گزارش های رسمی در سال ۲۰۱۶ در حدود ۸۵۰ میلیون دلار درامد داشته است.

در سال ۲۰۰۰ مث ورکس اقدام به انتشار نسخه جدید متلب با کتابخانه جدید و جامع تر کرد. متلب ابتدا توسط مهندسان کنترل استفاده می شد، امّا طولی نکشید که کاربرد آن به حوزه های دیگر هم گسترش یافت. یکی از کاربردهای مهم متلب، در حوزه آموزش و علی الخصوص آموزش مباحث مربوط به جبر خطی، تحلیل عددی و پردازش تصویر می باشد.

متلب یک نرم افزار غیر رایگان است که در مقایسه با نرم افزار های غیر رایگان از قیمت نسبتا بالایی برخوردار است.

یک تصور اشتباه درباره MATLAB

شاید به نظر خیلی ها متلب یک ماشین حساب بزرگ با امکانات فراوان است و برای انجام محاسبات بسیار پیچیده کاربرد دارد، اما در واقع این گونه نیست و متلب صرفاً یک ماشین حساب قوی نیست، بلکه یک محیط برنامه نویسی است که به کمک زبان های برنامه نویسی C و سی پلاس پلاس نوشته شده است، اما اینکه متلب با C و ++C نوشته شده به این معنا نیست که برای یادگیری و به کارگیری متلب باید به این دو زبان مسلط بود چرا که متلب زبان برنامه نویسی خودش را دارد، زبان برنامه نویسی متلب یک زبان سطح بالا (نزدیک به زبان انسان) است که بر خلاف بسیاری دیگر از زبان های برنامه نویسی اپن سورس نیست و برای استفاده قانونی از متلب باید هزینه آن را بپردازید.

نکته حائز اهمیت در رابطه با زبان برنامه نویسی متلب این است که این زبان فقط در IDE (محیط توسعه نرم افزار ) متلب پیاده سازی می شود و پیاده سازی آن در سایر IDE ها امکان پذیر نیست.

کاربردهای MATLAB

متلب کمک های فراوانی به انجام انواع محاسبات در علوم مختلف همانند فیزیک، شیمی، ریاضی و بسیاری از رشته های مهندسی کرده است.

از کاربردهای متلب در صنعت نمی توان چشم پوشید، به طور کلّی هر شغلی که نیاز به تجزیه و تحلیل داده ها داشته باشد، متلب می تواند کمک های شایانی به فعالان آن شغل داشته باشد.

امروزه این امر بر کسی پوشیده نیست که اطلاعات و دیتا یکی از مهم ترین موارد در شرکت ها، سازمان ها و ارگان های مختلف می باشد. اینجاست که بحث کاربردهای متلب به میان می آید و تجزیه و تحلیل داده های آماری را سهولت و سرعت ببخشد.

یکی دیگر از کاربردهای متلب، در علم ریاضیات است. درباره برخی از عملیات محاسباتی ریاضی که در متلب انجام می شوند، می توان به مواردی همچون کار با ماتریس ها و آرایه ها (Arrays)، رسم نمودارها در دو یا سه بعد به شکل های مختلف اعم از منحنی، میله ای و یا ستونی، موارد مربوط به جبر خطی، انواع معادلات جبری، توابع غیر خطی، مباحث مربوط به علم آمار، آنالیز داده ها، حساب دیفرانسیل و انتگرال و معادلات دیفرانسیلی، دستگاه معادلات، حل معادلات با مشتقات جزئی، حل معادلات خطی و غیر خطی، تعریف توابع چند جمله ای، انجام عملیات منطقی، قابلیت تعریف متغیرهای پارامتری، رشته و اعداد منطقی، ادغام، انجام کلیه عملیات حسابی بر روی متغیر ها، ماتریس ها و متغییر های پارامتری، درون یابی و بردازش منحنی به روش های مختلف و … می توان اشاره کرد.

متلب دارای ابزار های مختلفی ست که در علوم مختلفی کاربردهای فراوان دارند که در ادامه به برخی از آن ها اشاره می کنیم.

کاربردهای متلب

قدرت و کارایی MATLAB

در ادامه به برخی از ویژگی های متلب اشاره میکنیم . ابتدا به سراغ قدرت و پردازش و کارایی آن می رویم.

هسته متلب به این دلیل که سرعت و کارایی متلب ارتقاء داده شود، به زبان سی و رابط  کاربری آن به زبان جاوا نوشته شده است.

هر ساله افراد مختلفی از دانشگاه های سراسر جهان گرفته تا بسیاری از شرکت های نرم افزاری، ابزار های کاربردی بسیاری، که App نامیده می شوند را به متلب افزوده اند، که کارایی این نرم افزار را بسیار بالا برده اند. در ادامه به برخی از این ابزار ها اشاره می کنیم:

نخستین ابزار ، ابزار سیمولینک (Simulink) ابزار شبیه سازی متلب است که موارد استفاده از آن بر خلاف بسیاری از نرم افزارهای مهندسی که استفاده تخصصی دارند، عمومی است. با سیمولینک می توان رفتار یک سیستم را بدون ساختن آن بررسی کرد و به این ترتیب در زمان و هزینه صرفه جویی بالا می شود.

از دیگر ابزارها می توان به مجموعه ابزارهایی (تولباکس هایی) (Tool Box) برای انجام محاسبات در مهندسی مخابرات، محاسبات عددی، مهندسی کنترل، ابزار تخمین برای انجام محاسبات تخمین سیستم ها، محاسبات آماری، محاسبات فازی، ابزارهایی برای جمع آوری دیتا، ابزارهای تخصصی شبکه عصبی، ابزارهایی برای پردازش تصویر (مثلاً برای از بین بردن ماتی یک تصویر)، جعبه ابزار پردازش صوت شامل توابع و ابزارهای محاسبات پردازش صوت، جعبه ابزار احتمال، جعبه ابزار محاسبات سیمبولیک و جعبه ابزار کارگاه بی درنگ شامل توابع و ابزار های محاسبات سامانه های بی درنگ اشاره کرد.

برخی از توابع پر کاربرد و مهم ریاضی در متلب، توابعی همچون توابع مثلثاتی و معکوس آن ها، قدر مطلق، لگاریتم، تابع نمایی، جذر، لاپلاس و لاپلاس معکوس و جزء صحیح عدد می باشند.

علاوه بر ابزارهایی که در بالا اشاره شد افزونه هایی (Extension) نیز در متلب وجود دارد که Add ons نام دارند و کمک های شایانی در کار با نرم افزار را ارائه می دهند.

یکی دیگر از امکانات فوق العاده متلب، پکیج پشتیبانی سخت افزاری یا Hardware Support Package آن است که به وسیله آن می توانید برای ابزارهایی مثل آردینو برنامه بنویسید .

ویژگی دیگر، Help قوی متلب است که در بسیاری موارد می تواند کمک های فراوانی به شما بکند و بسیاری از مشکلاتتان را در حین کار با متلب حل کند، در ادامه بیشتر به بررسی Help  متلب می پردازیم.

در پایان این بخش یک ابزار کاربردی و مهم دیگر را معرفی می کنیم، ابزار Profiler  که عملکرد دستورها را از لحاظ زمانی مورد بررسی قرار می دهد، Profiler را نیز در ادامه بیشتر مورد بررسی قرار می دهیم.

ابزار Simulink در MATLAB

سیمولینک که در بالا نیز اشاره کوتاهی به آن شد از مهم ترین کتابخانه های متلب است. همان طور که گفتیم از سیمولینک برای شبیه سازی و مدل سازی در متلب استفاده می شود، در واقع قبل از طراحی یک سیستم می توان آن را به وسیله سیمولینک در متلب شبیه سازی کرد و کلّیه رفتارهای آن را تحلیل و بررسی نمود.

سیمولینک به طور مجزا اجرا نمی شود و اجرای آن بر بستر نرم افزار متلب است، برای استفاده از آن دو روش وجود دارد : روش اول این است که ابتدا وارد نرم افزار متلب شده، از طریق منو بار بر روی New کلیک کرد سپس وارد Simulink Model می شویم. راه دوم دسترسی به سیمولینک از طریق Command ویندوز می باشد، برای دسترسی به سیمولینک در این روش می بایست دستور سیمولینک را تایپ کرده و وارد آن شوید . پس از وارد شدن به سیمولینک با کلیک بر روی گزینه Blank Model می توان وارد ویرایشگر سیمولینک شد و از این طریق اقداماتی اعم از پیدا کردن خطاها و ذخیره مدل های ایجاد شده در فرمت های مختلف،  انتخاب بلوک های مد نظر، ساخت و پیاده سازی تغییرات بر روی مدار های الکتریکی و مخابراتی و مدار های کنترل و … را انجام داد.
لازم به ذکر است که سیمولینک دارای امکانات فراوانی برای بسیاری از رشته های مهندسی علی الخصوص برق و مکانیک را داراست. سیمولینک در رشته مهندسی برق کاربرد های فراوانی در طراحی مدار های الکتریکی، مدارهای آنالوگ و دیجیتال و کنترل خطی دارد.

simulink

ابزار Help در MATLAB

Help متلب یکی دیگر از امکانات مهم متلب است، همان طور که گفته شد می تواند بسیاری از مشکلات در حین کار با نرم افزار را حل کند. برای استفاده از Help  همانند سیمولینک دو راه وجود دارد، می توانید از طریق منو بار متلب و گزینه Help و سپس Product Help به استفاده از Help اقدام کنید و یا این که می توانید با استفاده از خط فرمان ویندور و تایپ دستور Help به راهنمای متلب دسترسی داشته باشید.
بعد از وارد شدن به منوی Help می توانید جستجوی مورد نظر خود را انجام دهید و با مشاهده مستندات ارائه شده، اقدام به حل مشکلات خود کنید.
یک نکته حائز اهمیت در استفاده از Help این است که راهنمای متلب همیشه نمی تواند به شما کمک کند و بالعکس بعضا می تواند آزار دهنده باشد و مشکلات جدید ایجاد کند، مثلا زمانی که کاربر از طریق Help به دنبال یک دستور خاص می باشد اما از آنجا که نام درست آن دستور را نمی داند احتمال اینکه با سرچ کلمات احتمالی به نتیجه دلخواه دست پیدا کند زیاد بالا نیست .

ابزار Profiler در MATLAB

Profiler متلب که در بالا به آن اشاره کردیم برای بررسی زمانی عملکرد دستورها می باشد، ابزار کاربردی و مهم در نرم افزار متلب است که در ارتقای کیفیت کار با متلب تاثیر به سزایی دارد.

Profile کردن به این معناست که کاربر متوجه شود متلب برای کدام قسمت ها زمان بیشتری را صرف کرده است. در نتیجه ی این کار کاربر متوجّه می شود که چه توابعی زمان بیشتری را برای اجرا گرفته اند، سپس کاربر متلب می تواند با اصلاح آن توابع و رفع ایرادات، برنامه را بهبود ببخشد و سرعت اجرای برنامه را افزایش دهد.

برای استفاده از Profiler  می توانید با اجرای دستور Profile Viewer به آن دسترسی داشته باشید. در ادامه نام تابع مورد نظر را که می خواهید مورد تحلیل و بررسی قرار بگیرد را جستجو می کنید و Profiler  اطلاعات کاملی را از تحلیل و بررسی زمانی آن تابع در یک جدول به شما نمایش می دهد. در جدول نمایش داده شده می توانید با کلیک بر روی هر تابع، خطوطی از تابع که دارای بیشترین زمان اجرا بوده اند را نیز مشاهده کنید.

Profiler

مزایای MATLAB

در ادامه بررسی ویژگی های متلب به سراغ مزایا و معایب آن می رویم. از مهم ترین مزایای متلب راحتی در استفاده است، متلب مفسر است و برنامه در یک محیط توسعه به آسانی نوشته می شود و از آن جا که کار زبان برنامه نویسی آسان تر است، مسلّماً توسعه برنامه های جدید با سهولت بیشتری امکان پذیر است.

از مزایای دیگر متلب مستقل بودن از بستر نرم افزاری است، متلب در اکثر سیستم عامل ها قابل اجراست. کاربران می توانند کد های نوشته شده به وسیله متلب را بدون پیاده سازی هیچ ویرایشی در دیگر سیستم عامل ها اجرا کنند.

توابع از پیش  تعریف شده، از دیگر مزایای متلب است، کتابخانه بسیار گسترده متلب قابل استفاده در موارد زیادی است.

از موارد دیگر مزایای متلب، رسم شکل های مختلف در آن است که مستقل از نوع دستگاه می باشد. متلب ابزارهای فراوانی برای رسم تصاویر دارد که می توانند روی هر وسیله خروجی گرافیکی که روی کامپیوتر ساپورت می شود به نمایش در آیند.

یک از قابلیت های مهم متلب این است که برنامه ‌نویس می‌تواند برنامه‌ های پیچیده تجزیه ‌و تحلیل داده‌ ها را طوری بنویسد که کاربران کم تجربه تر هم بتوانند به ‌راحتی با برنامه ارتباط ایجاد کنند.

یکی از امکانات و مزایای فوق العاده ی دیگر متلب که سرعت کار را گاها تا ۳۰۰ برابر بیشتر می کند این است که کاربران متلب می توانند کد های نوشته شده به سایر زبان های برنامه نویسی را در برنامه خود استفاده کنند.

 

معایب MATLAB

همانند همه ی نرم افزار های مهندسی، متلب نیز دارای معایبی است که نمی توان به سادگی از آن ها گذشت.

یکی از معایب متلب این است که متلب یک مفسر است، با توجه به این مورد، سرعت اجرای آن نسبت به دیگر زبان ها کم تر است، البته یک راه حل برای این مشکل وجود دارد و آن این است که اگر ساختار برنامه را درست به کار بگیریم این مشکل حل می شود. ولی در کل متلب نسبت به سایر رقبایش رم نسبتا زیادی را اشغال می کند.

از دیگر معایب متلب همان طور که قبلا هم اشاره کردیم قیمت بالای متلب است، یک لایسنس اورجینال و کامل آن به همراه ابزار کاربردی سیمولینک کامل آن، پنج تا ده برابر گران تر از کامپایلر سی یا فورترن می باشد

از گران بودن و متن باز نبودن متلب انتقادات فراوانی شده چرا که باعث ایجاد محدودیت در اجرای کد های متلب در هر محیطی می شود. متلب برای کار با ماتریس ها ایجاد شده است و با توجه به این موضوع استفاده از ساختارهای دیگرِ داده باعث پایین آمدن کارایی آن می شود.

نصب متلب نیاز به نصب تعدادی بسته هایی که از پیش کامپایل شده اند دارد که در برخی از سیستم عامل ها مشکلاتی را ایجاد می کند، علاوه بر این مرتبط کردن کدهای نوشته شده در سایر زبان های برنامه نویسی ممکن است به آسانی انجام نشود.

از دیگر انتقادات وارده به این نرم افزار عدم انجام محاسبات در لحظه است.

 

امتیاز این مقاله تاکنون

به این مقاله امتیاز بدهید.

امتیاز کاربران: اولین نفر باشید!
برچسب ها
نمایش بیشتر

محسن چهرازی

من محسن چهرازی، دانش آموخته رشته مهندسی برق- الکترونیک هستم. در زمینه های کنترل تابلو فرمان آسانسور، برنامه نویسی میکروکنترلرها (زبان C) و MATLAB، کدنویسی VHDL برای FPGA ها و تا حدودی نانو الکترونیک تخصص دارم. این وبسایت رو درست کردم تا با هم یاد بگیریم تحلیلی به مسائل الکترونیک نگاه کنیم و کمی از بخاطر سپردن دریای فرمول ها فاصله بگیریم.

دیدگاه خود را بنویسید. (این مقاله بر اساس نظرات شما به روز رسانی خواهد شد.)

avatar
  مشترک شدن  
اطلاع رسانی کن
دکمه بازگشت به بالا
بستن
بستن