Functions in MATLAB


برای معرفی توابع در متلب از دستور function استفاده می شود :

function p=g(y)

در این دستور ، function به عنوان معرف تابع ، p بعنوان خروجی تابع ، g نام تابع و y ورودی تابع است. البته دستور فوق باید بهمراه یک دستور دیگر که تابع را معرفی می کند بیان استفاده شود یعنی :

function p=g(y)

p=(y*2)^(sin(y));

مقدار فوق برای y=2 برابر می شود با :

p = 3.5274

نکاتی که باید در این باره به آنها توجه کرد موارد زیر هستند :

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

??? Input argument "y" is undefined.

Error in ==> g at 2
p=(y*2)^(sin(y));

پس باید آن را بصورت یک script  بنویسید و آن را ذخیره کنید و سپس در برنامه از آن استفاده کنید. به این صورت که اگر فایل script یا m file را با نام g.m ذخیره کنید و این فایل در دایرکتوری برنامه نیز باشد ، با فرا خواندن تابع g که نام فایل با پسوند m میباشد، می توان از تابع استفاده نمود. مانند زیر:

>> p=g(2)

p =

3.5274

نکته دیگری که باید به آن توجه نمود قرار دادن ";" در آخر خط دوم می باشد ، این عمل باعث می شود تا مقدار این دستور به عنوان خروجی تابع برگردانده شود.

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

function p=g(y)
p=(y*2).^(sin(y));

حال ورودی و خروجی تابع بصورت برداری خواهد بود.