اهمیت mfile (ام فایل) نویسی در متلب

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

موارد استفاده از ام فایل نویسی

پایه نرم افزار متلب در کل براساس ام فایل نویسی (mfile) طرح ریزی شده است و اصولا برای انجام اغلب عملیات شبیه سازی در متلب نیاز به ام فایل نویسی می باشد. با این حال از ام فایل در شرایط زیر می توان بهره برد :

  • به منظور رسم توابع
  • به منظور ورود یک سری رشته داده ها در برنامه کلی
  • به منظور انجام عملیاتی داخلی در برنامه برای بدست آوردن متغیر یا متغیرهایی
  • در محیط سیمولینک 
  • حل یک سری معادلات برای بدست آوردن متغیرهای میانی

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

موارد زیر بخش هایی از کاربردهای ام فایل نویسی در محیط سیمولینک متلب می باشد :

  1. نیاز به حل حل معادلات جبری برای بدست آوردن متغیرهای مسئله در سیمولینک
  2. نیاز به حل معادلات دیفرانسیلی به منظور بدست آوردن پاسخ در سیمولینک
  3. نیاز به کدنویسی عبارت کنترلر (کنترل کننده های خطی و غیرخطی)
  4. نیاز به کدنویسی عبارت تطبیقی (انواع روش های تطبیقی خطی و یا برپایه لیاپانوف نظیر مدلغزشی)
  5. نیاز به مدل سازی سیستم هایی نظیر توربین بادی (البته مدل خطی شناخته شده ای از توربین در دموی متلب قرار دارد.)
  6. نیاز به بیان عبارات شرطی در سیمولینک
  7. نیاز به سوئیچینگ در سیمولینک متلب

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

در نرم افزار متلب در زیر منوی Home با انتخاب تب New و سپس کلیک بر روی function یک صفحه ای باز خواهد شد که قالب کلی یک تابع را نمایش می دهد .

m1 300x194 اصول ام فایل نویسی در متلب   mfile

امکانات مربوط به تابع نویسی در متلب

با کلیک بر روی Function با شکل اولیه تابع به صورت زیر مواجه خواهیم بود :

شکل کلی mfile در متلب 300x295 اصول ام فایل نویسی در متلب   mfile

شکل 2 : قالب اولیه برای ام فایل نویسی در متلب

در این قالب 3 بخش اصلی در تصویر بالا علامت گذاری شده است که عبارتند از خروجی های تابع ، نام تابع و ورودی های تابع

خروجی های یک تابع در متلب

خروجی های تابع بیانگر اهداف تابع می باشند. بطورکلی یک تابع نوشته می شود تا یک سری خروجی ها برای ادامه روند برنامه اصلی main بدست آید. هر تابعی لزوما دارای خروجی نمی باشد به عنوان مثال توابعی که به منظور رسم بکار می روند دارای خروجی که به تابع اصلی برگردانده شود نمی باشد بلکه خروجی آن به صورت گراف هایی می باشد که توسط متلب رسم شده و به کاربر ارائه می شود. اما در اغلب موارد توابع دارای خروجی می  باشند. مکان کلی برای خروجی های یک تابع در شکل 2 با فلش قرمز نمایش داده شده است. همانطور که مشخص است خروجی های تابع به طور کلی داخل یک آکولاد [] قرار می گیرند و در این بین بوسیله کاما از هم جدا می شوند به طور مثال برای یک تابع با 3 خروجی می توان بیان کرد [y1,y2,y3] .

محدودیتی در نام گذاری و تعداد خروجی ها نخواهیم داشت و اگر تابعی دارای تنها یک خروجی باشد می توان آکولاد را حذف کرد و به شکل y=function آن را بیان نمود.

سعی کنید از آوردن متغیرهای خروجی اضافی در برنامه جلوگیری کنید ، متغیرهای میانی در تابع که نیازی به برگرداندن به برنامه اصلی و یا تابع بالادستی ندارند نیاز به نام گذاری به عنوان خروجی ندارند.

نام تابع

نام تابع در شکل 2 با فلش سبز رنگ مشخص شده است که بایستی به صورت یک نام استاندارد متلب نوشته شود. این نام می تواند شامل آندرلاین، عدد ، حروف بزرگ و کوچک و برخی نمادهای دیگر نیز باشد. همواره سعی کنید نام را با حرف آغاز کنید و در برنامه نویسی حرفه ای می توان سیلاب های مختلف نام را بوسیله حروف بزرگ از هم جدا کرد مثلا تابعی که محاسبه توان را انجام می دهد : GainPow

سعی کنید در نامگذاری تابع از نام های معنادار استفاده کنید و از بیان نام های بی معنی که باعث کاهش خوانایی برنامه خواهند شد اجتناب کنید .

ورودی های تابع

شاید بتوان گفت مهمترین بخش یک تابع ورودی های آن می باشد. ورودی های تابع بخش جدایی ناپذیر از روند برنامه نویسی می باشند. این ورودی ها در شکل 2 با فلش آبی مشخص شده اند که درون پرانتز قرار می گیرند. ورودی های یک تابع می توانند بیش از یکی باشند که در این صورت با کاما از هم جدا می شوند و به شکل function(x1,x2,x3) بیان می شوند.

روند کلی تابع نویسی در متلب

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

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

منبع : برق تِک

About برق تِک

Leave a Reply

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *