www.gusucode.com > 《MATLAB智能算法30个案例》分析源代码 > 《MATLAB智能算法30个案例》分析源代码/code/chapter17/testfunctions/f6mod.m
% f6mod.m % Schaffer's F6 function % commonly used to test optimization/global minimization problems % % This version is a modified form, just the sum of 5 f6 functions with % different centers to look at local minimum issues % normal f6= % z = 0.5+ (sin^2(sqrt(x^2+y^2))-0.5)/((1+0.01*(x^2+y^2))^2) function [out]=f6mod(in) x=in(:,1); y=in(:,2); a=ones(size(x)); b=20; xycntr=[0*a,0*a,-b*a,-b*a,-b*a,b*a,b*a,-b*a,b*a,b*a]; tmpout=0.*a; for i=1:5 num=sin(sqrt( (x-xycntr(:,2*i-1)).^2 + (y-xycntr(:,2*i)).^2) ).^2 - 0.5; den=(1.0+0.01*((x-xycntr(:,2*i-1)).^2+(y-xycntr(:,2*i)).^2)).^2; tmpout=[tmpout, 0.5*a +num./den]; end out=sum(tmpout,2)./5; return