تبلیغات
مهندسی مکانیک و هوافضا - گیره تابع feval() ، function handle
هر آنچه که یک مهندس بخواهد اینجا هست!
 
آخرین مطالب
 
محبوبترین ها ی سایت
گیره تابع feval() ، function handle
اگر در مقابل نام تابع علامت @ بیاید گیره آن تابع را ایجاد کردهایم (چیزی شبیه اشاره گر pointer در C++)، برای feval()  استفاده کنیم مفهوم گیره امکان استفاده از تابعی به عنوان آرگومان تابع دیگر را فراهم میکند و از توانائیهای مهم متلب محسوب میشود.

مثال ها:
نسبت دادن گیره تابع به متغیر دیگر

>> hs = @sin;
>> feval(hs,pi/6)

 جواب

ans = 0.5000

 کاربرد مستقیم گیره تابع

>> feval(@sin,pi/6)

 جواب

ans = 0.5000

 تابعِ تابعِ کاربر- تعریف

ادامه مطلب ....
توابعی که تابع دیگری را به عنوان آرگومان میپذیرند تابعِ تابع نام دارند و آرگومان آنها می تواند یک گیره تابع باشد. به
تابعِ تابع کاربر- تعریف مثال توجه کنید.

مثال:

یک فایل تابعی ایجاد میکنیم که آرگومان ورودیش تابع دیگری باشد.
یک تابع به نام yd.m مینویسیم که جواب معادلههای درجه دو و سه را برای مقدار معینی از x  برگرداند.
function [p2,p3] = yd(x)
p2 = x.^2 + x ;
p3 = x.^3 + x.^2 + x;
 حالا فایل تابعی ydh.m را ایجاد میکنیم که آرگومانش تابع فوق است:
function [out1, out2] = ydh(hy,x)
[out1 out2] = feval(hy,x);
%باید گیره تابع باشد.  hy
>> [a b] = ydh(@yd,1)
>> x = [1 2];
>> [a b] = ydh(@yd,x)

 جواب

a = 2
b = 3
a = 2 6
b = 3 14

 تابع تابع کتاب خانه ای

توابع کتاب خانه ای که تابع دیگری را به عنوان آرگومان میپذیرند تابعِ تابع نام دارند و آرگومان آنها می تواند یک تابع inline رشته، یا گیره باشد. برخی از اینگونه توابع عبارتند از: .fplot(), ezplot, feval

مثال ها:

رسم sin^3x به صورت تابعِ تابع

>> isn = inline('(sin(x))^3');
>> fplot(isn,[-pi pi])
>> ezplot(isn)

 رسم تابع humps(x) (از توابع نمونه داخلی متلب)

برای اطلاع بیشتر در مورد این تابع از پنجره فرمان help humps را اجرا کنید.

مثال ها:
فراخوانی مستقیم گیره

>> fplot(@humps,[0 1])

 نسبت دادن به یک مغیر رشتهای

>> hu = 'humps(x)';
>> fplot(hu,[0 1])


مرتبط با: متلب ( MATLAB ) ,
برچسب‌ها: feval() , feval , function handle ,
می توانید دیدگاه خود را بنویسید
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر