توابع فرعی و اصلی

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

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

توابع فرعی تنها با توابع اصلی قابل مشاهده اند و دیگر توابع فرعی مطابق با فایل توابع آن ها تعریف می شوند.

مثال

اجازه دهید تابعی با نام quadratic بنویسیم  که ریشه معادل quadratic  را محاسبه می کند.این تابع سه ورودی ، co – efficient  quadratic،co- efficient خطی و تابع فرعی disc را میگیرد، که جداگانه محاسبه می شوند.

یک فایل تابع quadratic.m ایجاد نمایید و کد زیر را در آن تایپ کنید:

function[xl,x2]= quadratic(a,b,c)

%thisfunction returns the roots of

% a quadratic equation.

%lt takes 3 input arguments

% which are the co-efficients of x2, x and the

%constant term

%lt returns the roots

d = disc(a,b,c);

xl =(-b + d)/(2*a);

x2 = )-b – dl / (2*a);

end%end of quadratic

function dis = disc(a,b,c)

%function calculates the discriminant

dis = sqrt(b^2-4*a*c);

end%end of sub-function

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

quadratic(2,4,-4)

متلب دستورات بالا را اجرا خواهد کرد و نتایج زیر را برمیگرداند:

492

توابع تو در تو

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

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

تابع تو در تو با نحوه اجرا در متلبزیر در ادامه آمده است:

493

مثال

اجازه دهید دوباره تابع quadratic را بنویسیم، از مثال قبلی، اگرچه، در این صورت تابع disc تابع تو درتو خواهد بود.

یک تابع فایل quadratic2.m ایجاد نمایید و کد زیر را در آن تایپ کنید:

function[xl,x2]= quadfatic2(a,b,c)

function disc % nested function

d = sqxt(b^2-4*a*c);

end%end of function disc

disc;

xl =(-b + d) / (2*a);

x2 = )-b – d) / (2*a):

end%end of function quadxatic2

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

quadratic2(2,4,-4)

متلب عبارت بالا را اجرا خواهد کرد و نتیجه زیر را برمی گرداند:

494

مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,

دیدگاهتان را بنویسید

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