تاپيک: درخواست كمك
نمايش پست تنها
قديمي ۰۵-۱-۱۳۹۱, ۰۳:۰۰ بعد از ظهر   #11 (لینک دائم)
md_azizian Male
عضو فوق فعال
 
آواتار md_azizian
 
تاريخ عضويت: اسفند ۱۳۹۰
پست ها: 23
تشكرها: 2
6 تشكر در 5 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله slicing نمايش پست
با سلام
من كدي كه شما بهم كمك كرديد رو در متلب به صورت يك تابع به صورت زير نوشتم.
function z = My_Fun(x,y,k)
if x==y
p1=0;
else
p1=abs(x-y);
end
if x==k
p2=0;
else
p2=abs(x-k);
end
if k==y
p3=0;
else
p3=abs(k-y);
end
p4=max(p1,p2);
z=max(p4,p3);
end

اما وقتي كه ميخوام داخل الگوريتم رقابت استعماري استفاده كنم خطاي زيرو ميده.اگه امكان داره بهم كمك كنيد تا اين اشكال رفع بشه.

Error using My_Fun (line3(
Not enough input arguments.

Error in ImperialistCompetitveAlgorithm_GlobalOptimizationS trategy (line 81(
InitialCost = feval(ProblemParams.CostFuncName,InitialCountries
سلام
این زیر برنامه درست کار میکنه
من این زیر تابع را در یک m فایل ذخیره کردم (کپی و پیست کردم)
بعد از اینکه ذخیره کردم به نام My_fun
در سطر فرمان متلب نوشتم
My_fun(2,4,6)
که اجرا شد و خروجی 4 را داد
اشکال شما مثل اینکه در خود برنامه اصلی است نه زیرتابع مذکور
در ضمن به جای استفاده از max به دفعات میتونی این دستوراتو بنویسی
p4=[p1,p2,p3]
z=max(p4)

ويرايش شده توسط md_azizian; ۰۵-۱-۱۳۹۱ در ساعت ۰۳:۲۷ بعد از ظهر دليل: اضافه کردن مطلب
md_azizian آفلاين است   پاسخ با نقل قول

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online