توابع فرعی و اصلی
هر تابعی نسبت به تابع مستعار باید درون یک فایل تعریف شود.هر تابع فایل شامل تابع اصلی موردنیاز است که اول دیدار می شودو هر تعداد تابع – فرعی اختیاری بعد از تابع اصلی می آید و استفاده می شود.
توابع اصلی می تواند خارج از فایل تعریف شده آن ها فراخوانی شود،در هریک از خط فرمان یا توابع دیگر، اما توابع فرعی نمی توانند با خط فرمان یا دیگر توابع ،خارج از فایل تابع فراخوانی شوند.
توابع فرعی تنها با توابع اصلی قابل مشاهده اند و دیگر توابع فرعی مطابق با فایل توابع آن ها تعریف می شوند.
مثال
اجازه دهید تابعی با نام 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)
متلب دستورات بالا را اجرا خواهد کرد و نتایج زیر را برمیگرداند:
توابع تو در تو
شما می توانید تابعی درون بدنه تابع دیگر تعریف کنید.آن ها توابع تو در تو نامیده می شوند.تابع تو در تو a شامل هر یا تمامی اجزای تابع ذدیگری است.
توابع تو در تو در حوزه ای از توابع دیگر تعریف شده اند و آن ها دسترسی به فضای کاری توابع در برگرفته را به اشتراک می گذارند.
تابع تو در تو با نحوه اجرا در متلبزیر در ادامه آمده است:

مثال
اجازه دهید دوباره تابع 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)
متلب عبارت بالا را اجرا خواهد کرد و نتیجه زیر را برمی گرداند:
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,
