زير تابع subfunction
مي شود در داخل يك تابع توابع فرعي ديگري را به نام زيرتابع تعريف كرد، زيرتابعها فقط توسط تابع اصلي ديده و فراخوانده مي شوند، و در خارج از تابع اصلي قابل فراخواني نيستند. نام فايلِ نگهدارندهي ام- فايل تابعي بايد نام تابع اصلي باشد.
مثال: براي حل معادله درجه سه f(x) = b^3 – 2b^2 + 3b – 4 یك ام-فايل تابعي به نام ()newss بنويسيد، كه در آن تابع و مشتق آن به صورت دو زير تابع با نامهاي ()ny و ()nyp تعريف شوند.
% newss.m
function p1 = newss(a)
p1 = ny(a)/nyp(a); %
function p2 = ny(b)
p2 = b^3 – 2*b^2 + 3*b – 4 ;
function p3 = nyp(d)
p3 = 3*d^2 – 2*2*d + 3;
سپس از درون يك ام- فايل با نام eus.m، تابع()newss را فراميخوانيم:
% eus.m
x = input(‘Enter initial guess: ‘);
ero = 1;
while ero > 1e-6
x1 = x ;
x = x- newss(x);
ero=abs((x-x1)/x);
end disp([‘root = ‘ num2str(x)])
>> eus
>> eus
>> eus
Enter initial guess: 1
root = 1.6506
Enter initial guess: i
root = 0.17469+1.5469i
Enter initial guess: -i
root = 0.17469-1.5469i
تابعِ تابع
تابع گيره feval() ، function handle
اگر در مقابل نام تابع علامت @ بيايد گيره آن تابع را ايجاد كرده ايم (چيزي شبيه اشاره گر pointer در ++C). براي مراجعه به تابع از طريق گيره بايد از()feval استفاده كنيم مفهوم گيره امكان استفاده از تابعي به عنوان آرگومان تابع ديگر را فراهم ميكند و از توانائيهاي مهم متلب محسوب ميشود.
مثال ها: نسبت دادن گيره تابع به متغير ديگر
>> hs = @sin;
>> feval(hs,pi/6)
ans = 0.5000
كاربرد مستقيم گيره تابع
>> feval(@sin,pi/6)
ans = 0.5000
نویسنده: مصطفی همت آبادی
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,