با سلام
تابع برازندگي من به صورت زير هستش
[IMG]
[/IMG]
و من اونو در متلب به صورت يك تابع به صورت زير نوشتم.
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( ;