انواع دیگر تابع ها در متلب

چاپ

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

توابع درون خطی در متلب

یک تابع درون خطی، تابعی است که یک وظیفه ی کوچک را انجام می دهد و درحقیقت در یک فایل تابع، قرار ندارد. در صورت تمایل، می توانید یک تابع درون خطی را در خط فرمان ایجاد کنید. هدف اصلی یک تابع درون خطی، آسان تر کردن انجام محاسبات و دستکاری داده ها از راه های دیگر است. به جای اینکه هربار اطلاعات فراوانی را تایپ کنید، می توانید از یک تابع درون خطی برای انجام  کارهای خود استفاده کنید. برای اینکه در عمل یک تابع درون خطی را مشاهده کنید، عبارت  SayHello8 = inline('["Hello There ",Name, "!"]') را در خط فرمان تایپ کنید و کلید Enter را فشار دهید. خروجی زیر را مشاهده خواهید کرد:

 

این تابع، یک پیغام خوش آمد گویی را برمی گرداند. تمامی آنچه اکنون نیاز داریم این است که نام تابع را صدا بزنیم و مقدار مورد نیاز را به آن بدهیم. برای امتحان کردن این تابع، عبارت disp(SayHello8('Robert')) را تایپ کنید و کلید Enter را فشار دهید. خروجی به صورت زیر خواهد بود:

 

توجه کنید که تابع درون خطی ما، شامل تابع ()disp نیست. از یک تابع درون خطی برای برگرداندن یک مقدار استفاده می شود نه ایجاد خروجی. بنابراین اگر که شما سعی کنید تا تابع ()disp را به این تابع اضافه کنید، خطای زیر نمایش داده خواهد شد:

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

یک تابع بی نام، درواقع یک نسخه ی کوتاه تر از یک تابع درون خطی است. این نوع تابع شامل یک عبارت تک خطی است. این عبارت تک خطی می تواند آرگومان های ورودی را بپذیرد و داده ها را در خروجی ارائه دهد. برای اینکه مشاهده کنید که یک تابع بی نام چگونه کار می کند، عبارت SayHello9 = @(Name) ['Hello There ', Name, '! '] را تایپ کنید و کلید Enter را فشار دهید. خروجی زیر نمایش داده خواهد شد:

 

 علامت @ مشخص می کند که کدهای کنار آن، یک تابع بی نام را مشخص می کنند. تمامی آرگومان های ورودی که نیاز داریم را باید در پرانتزهای کنار علامت @ مشخص کنیم. سپس باید کدهای خود را در ادامه قرار دهیم. در این مورد یک پیام خوش آمد گویی دیگر را نیز مشاهده خواهید کرد. برای امتحان کردن این مثال، عبارت disp(SayHello9('Evan')) را در خط فرمان تایپ کنید و کلید Enter را فشار دهید. خروجی به صورت زیر خواهد بود:

 

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