ایجاد اولین تابع در متلب
تفاوت توابع درونی و توابع شخصی در متلب
توابع درونی(که توسط متلب ارائه می شوند) و توابع شخصی(که توسط شما ایجاد می شوند) حداقل در یک جنبه ی مهم با یکدیگر تفاوت دارند. تفاوت در این است که شما می توانید سورس کد توابع شخصی را به هنگام نیاز تغییر دهید اما شما به سورس کد توابع داخلی متلب دسترسی ندارید.
ایجاد اولین تابع در متلب
ایجاد یک تابع، کمی بیشتر از ایجاد یک اسکریپت زمان می برد. اسکریپت ها و توابع، هر دو در داخل یک ادیتور مورد ویرایش قرار می گیرند. و امکانات ادیتور، برای ایجاد توابع و اسکریپت ها کاملا یکسان می باشد. برای نوشتن اولین تابع در متلب، گام های زیر را دنبال کنید:
1. در تب Home از متلب، بر روی علامت مثلث که در زیر قسمت New وجود دارد کلیک کنید و از لیست ظاهر شده، Function را انتخاب کنید. خواهید دید که پنجره ی Editor همانند عکس 9.7 نمایش می یابد. توجه کنید که این ادیتور از قبل یک تابع خام را به همراه آرگومان های ورودی و خروجی و چند کامنت برای شما ایجاد کرده است:
عکس 9.7 ممکن است کمی پیچیده به نظر برسد. دلیل این امر این است که متلب تعدادی عناصر دلخواه را که شما بعدا آنها را در این فصل مطالعه خواهید کرد، اضافه کرده است.
یک تابع دارای سه جزء ضروری است:
- یک تابع همیشه با عبارت function شروع می شود.
- سپس شما باید یک نام را برای تابع اضافه کنید.
- یک تابع همواره باید با کلمه ی end پایان یابد.
2. عبارت output_args را حذف کنید.
زیرا در نظر گرفتن یک آرگومان خروجی برای تابع ضروری نمی باشد. برای سادگی کار، در این تابع هیچ آرگومان ورودی و خروجی در نظر نمی گیریم. اگر که یک عدد را به یک تابع بدهیم، این عدد به صورت یک آرگومان در نظر گرفته خواهد شد.
به طور مشابه، اگر که یک رشته را به یک تابع بدهیم، کل این رشته به صورت یک آرگومان درنظر گرفته خواهد شد. یک بردار نیز بااینکه شامل چندین عدد است، اما به صورت یک آرگومان در نظر گرفته می شود.
3. عبارت input_args را حذف کنید.
زیرا در نظر گرفتن یک آرگومان ورودی برای تابع ضروری نیست.
4. حالا نام تابع را از Untitled به SayHello تغییر دهید.
هر تابع باید یک نام یکتا داشته باشد. و بهتر است که این نام، وظیفه ی تابع را مشخص کند. قبل از اینکه نام تابع خود را انتخاب کنید، با استفاده از دستور ('نام تابع')help نام تابع خود را تست کنید. در صورتی که تابع مورد نظر از قبل وجود داشته باشد، آن را در صفحه ی help مشاهده خواهید کرد. در غیر این صورت، متلب اطلاعاتی را در مورد این تابع نمایش نمی دهد و شما می توانید از نام تابعی که انتخاب کرده اید استفاده کنید. اگر که می خواهید به طور مطلق اطمینان حاصل کنید که یک تابع دیگر همنام با تابه شما وجود دارد یا نه، از تابع ()exist به صورت exist('SayHello') استفاده کنید. در صورتی که تابع مورد نظر از قبل وجود داشته باشد، مقدار 2 برگردانده خواهد شد و در غیر این صورت مقدار 0 برگردانده خواهد شد.
5. کامنت ها را به صورت زیر تغییر دهید.
همان طور که در عکس بالا مشاهده می کنید، خط دوم کمی فاصله دار است. این فاصله، به متلب می فهماند که خط اول، یک عنوان است و خط دوم متنی است که به همراه این عنوان می آید. فرمت دهی به کامنت ها هنگام کار با توابع، مهم است و در صورتی که این کار انجام نشود، هنگام بازدید دوباره از کدها، اطلاعات مناسبی را مشاهده نخواهید کرد.
6. بعد از کامنت ها، کد زیر را قرار دهید:
کاربرد این تابع، این است که یک پیغام را در صفحه ی نمایش، ظاهر می کند.
7. بر روی Save کلیک کنید.
پس از انجام این کار، پنجره ی Select File ظاهر می شود. و شما می توانید یک مکان را برای ذخیره انتخاب کنید. به عکس 9.8 توجه کنید.
8. با توجه به عکس بالا، در مکان دلخواه خود، یک پوشه به نام Chapter9 ایجاد کنید و فایل مورد نظر را با نام SayHello.m ذخیره کنید. با انجام این کار، متلب تابع شما را با نام SayHello.m ذخیره می کند.
نکته: توجه کنید که نامی که از آن برای ذخیره ی تابع استفاده می کنید باید برابر با نام تابع مورد نظر باشد. زیرا متلب از این نام، برای دسترسی به تابع مورد نظر استفاده می کند، نه نام تابعی که در فایل نشان داده می شود. در صورتی که نام تابع با نام فایل ذخیره شده،مطابقت نداشته باشد، متلب یک پیغام خطا را نمایش خواهد داد.
استفاده و اجرای تابع ایجاد شده
شما اکنون یک تابع دارید که شاید مایل باشید تا از آن استفاده کنید. قبل از اینکه از این تابع استفاده کنید، باید ابتدا اطمینان حاصل کنید که پوشه ی این تابع، در مسیر متلب قرار داشته باشد. برای انجام این کار، دو راه وجود دارد:
- بر روی دایرکتوری وارد شده در پنجره ی Current Folder دابل-کلیک کنید.
- بر روی دایرکتوری وارد شده در پنجره ی Current Folder راست کلیک کنید و از منوی زمینه ی باز شده، گزینه ی Add to Path را انتخاب کنید و سپس گزینه ی Selected Folders and Subfolders را انتخاب کنید.
اکنون می توانید تابع خود را به صورت های متفاوتی اجرا کنید. در لیست زیر، اکثر راه های متداول برای انجام این کار، وجود دارند:
- در پنجره ی Editor، بر روی Run کلیک کنید. خواهید دید که خروجی در Command window نمایش داده خواهد شد. اما در توابعی که در ادامه و در بخش پاس دادن داده ها به داخل، می آیند، اجرای آنها، کمی پیچیده است. شما همواره نمی توانید بر روی دکمه ی Run کلیک کنید و یک نتیجه ی موفقیت آمیز را به دست بیاورید، حتی اگر که تابع مورد نظر همواره اجرا شود.
- در پنجره ی Editor، بر روی Run and Advance کلیک کنید. ( این گزینه، بخش مشخص شده را هنگامی که در فایل شما، چند بخش قرار داشته باشند، به اجرا در می آورد).
- در پنجره ی Editor، بر روی Run and Time کلیک کنید.( این گزینه برخی اطلاعات و نمودارها را در مورد چگونگی کارکرد تابع، در خروجی نشان می دهد).
- نام تابع مورد نظر را در پنجره ی Command تایپ کنید و کلید Enter را فشار دهید.
تابعی که ایجاد کرده اید، دارای help یا راهنما نیز می باشد. کافیست عبارت help('SayHello') را تایپ کنید و کلید Enter را فشار دهید. متلب اطلاعات نشان داده شده در ادامه را نشان خواهد داد:
همان طور که در عکس بالا مشاهده می کنید، خروجی همانند کامنت هایی است که در فایل تابع وارد کرده ایم. شما همچنین می توانید از تابع ()doc نیز استفاده کنید. کافیست عبارت doc('SayHello') را تایپ کنید و کلید Enter را فشار دهید. خواهید دید که خروجی، مانند عکس 9.9 است. توجه کنید که عنوان مورد نظر چگونه در یک رنگ و فونت متفاوت نسبت به متن ادامه ی آن، نمایش داده شده است.
- نوشته شده توسط احسان عباسی
- بازدید: 9429