群智能优化算法测试函数matlab源代码
global M; creatematrix(2); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画ackley图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ackley x from[-5 5] % x=-5:0.01:5; % [x,y]=meshgrid(x); % temp1=x.^2+y.^2; % temp2=cos(2*pi*x)+cos(2*pi*y); % z=20+exp(1)-20*exp(-0.2*sqrt(temp1/2))-exp(temp2/2); % axis([-5,5,-5,5]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画旋转的ackley图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%Rotated ackley x from[-5 5 % x=-5:0.01:5; % [x,y]=meshgrid(x); % for i=1:size(x,1) % for j=1:size(y,1) % p=[x(i,j),y(i,j)]'; % x(i,j)=M(1,:)*p; % y(i,j)=M(2,:)*p; % end % end % temp1=x.^2+y.^2; % temp2=cos(2*pi*x)+cos(2*pi*y); % z=20+exp(1)-20*exp(-0.2*sqrt(temp1/2))-exp(temp2/2); % axis([-5,5,-5,5]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画cigar图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %cigar x=-5:0.01:5; [x,y]=meshgrid(x); z=x.^2+(10^4)*y.^2; axis([-5,5,-5,5]); meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画旋转的cigar图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %rotated cigar x from [-5 5] % x=-7:0.01:7; % [x,y]=meshgrid(x); % for i=1:size(x,1) % for j=1:size(y,1) % p=[x(i,j),y(i,j)]'; % x(i,j)=M(1,:)*p; % y(i,j)=M(2,:)*p; % end % end % z=x.^2+(10^4)*y.^2; % axis([-7,7,-7,7]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画ellipse图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %ellipse x from [-5 -5] % x=-5:0.01:5; % [x,y]=meshgrid(x); % z=x.^2+10.^4*(y.^2); % axis([-5,5,-5,5]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画griewangk图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %griewangk % x=-600:1:600; % [x,y]=meshgrid(x); % temp1=(x.^2+y.^2)/4000; % temp2=cos(x)*cos(y/sqrt(2)); % z=temp1-temp2+1; % axis([-600,600,-600,600]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画旋转的griewangk图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Rotated griewangk % x=-600:1:600; % [x,y]=meshgrid(x); % for i=1:size(x,1) % for j=1:size(y,1) % p=[x(i,j),y(i,j)]'; % x(i,j)=M(1,:)*p; % y(i,j)=M(2,:)*p; % end % end % temp1=(x.^2+y.^2)/4000; % temp2=cos(x)*cos(y/sqrt(2)); % z=temp1-temp2+1; % axis([-600,600,-600,600]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画nocon_rastrigin图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %nocon_rastrigin % x=-10:0.05:10; % [x,y]=meshgrid(x); % temp1=0; % temp2=0; % z=0; % if abs(x)<1/2 % temp1=x; % else % temp1=round(2.*x)/2; % end % if abs(y)<1/2 % temp2=y; % else % temp2=round(2.*y)/2; % end % z=z+temp1.^2-10*cos(2*pi.*temp1)+temp2.^2-10*cos(2*pi.*temp2)+20; % axis([-10,10,-10,10]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画旋转的nocon_rastrigin图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Rotated nocon_rastrigin % x=-15:0.05:15; % [x,y]=meshgrid(x); % for i=1:size(x,1) % for j=1:size(y,1) % p=[x(i,j),y(i,j)]'; % x(i,j)=M(1,:)*p; % y(i,j)=M(2,:)*p; % end % end % temp1=0; % temp2=0; % z=0; % if abs(x)<1/2 % temp1=x; % else % temp1=round(2.*x)/2; % end % if abs(y)<1/2 % temp2=y; % else % temp2=round(2.*y)/2; % end % z=z+temp1.^2-10*cos(2*pi.*temp1)+temp2.^2-10*cos(2*pi.*temp2)+20; % axis([-15,15,-15,15]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画rastrigin图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %rastrigin % x=-10:0.05:10; % [x,y]=meshgrid(x); % temp1=x.^2-10*cos(2*pi.*x); % temp2=y.^2-10*cos(2*pi.*y); % z=temp1+temp2+20; % axis([-10,10,-10,10]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画旋转的rastrigin图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Rotated rastrigin % x=-15:0.05:15; % [x,y]=meshgrid(x); % for i=1:size(x,1) % for j=1:size(y,1) % p=[x(i,j),y(i,j)]'; % x(i,j)=M(1,:)*p; % y(i,j)=M(2,:)*p; % end % end % temp1=x.^2-10*cos(2*pi.*x); % temp2=y.^2-10*cos(2*pi.*y); % z=temp1+temp2+20; % axis([-15,15,-15,15]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画rosenbrock图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %rosenbrock % x=-10:0.05:10; % [x,y]=meshgrid(x); % z=100*(y-x.^2).^2+(x-1).^2; % axis([-10,10,-10,10]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画schwefel图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %schwefel % x=-10:0.05:10; % [x,y]=meshgrid(x); % z=(x-x.^2).^2+(x-1).^2+(x-y.^2).^2+(y-1).^2; % axis([-10,10,-10,10]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画旋转的schwefel图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Rotated schwefel % x=-15:0.05:15; % [x,y]=meshgrid(x); % for i=1:size(x,1) % for j=1:size(y,1) % p=[x(i,j),y(i,j)]'; % x(i,j)=M(1,:)*p; % y(i,j)=M(2,:)*p; % end % end % z=(x-x.^2).^2+(x-1).^2+(x-y.^2).^2+(y-1).^2; % axis([-15,15,-15,15]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画sphere图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %sphere % x=-10:0.05:10; % [x,y]=meshgrid(x); % z=x.^2+y.^2; % axis([-10,10,-10,10]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画sumcan图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %sumcan % x=-0.16:0.0005:0.16; % [x,y]=meshgrid(x); % z=1./(10.^(-5)+abs(x)+abs(x+y)); % z=log10(z); % axis([-0.16,0.16,-0.16,0.16]); % mesh(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画tablet图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %tablet % x=-10:0.05:10; % [x,y]=meshgrid(x); % z=10.^4*x.^2+y.^2; % axis([-10,10,-10,10]); % mesh(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画Weierstrass图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Weierstrass % x=-1:0.005:1; % [x,y]=meshgrid(x); % z=0; % for k=0:20 % z=z+0.5^k*cos(2*pi*3^k*(x+0.5))+0.5^k*cos(2*pi*3^k*(y+0.5)); % end % temp=0; % for k=0:20 % temp=temp+0.5^k*cos(2*pi*3^k*0.5); % end % z=z-2*temp; % axis([-1,1,-1,1]); % meshc(x,y,z); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %画旋转的Weierstrass图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Rotated Weierstrass % x=-1.5:0.005:1.5; % [x,y]=meshgrid(x); % for i=1:size(x,1) % for j=1:size(y,1) % p=[x(i,j),y(i,j)]'; % x(i,j)=M(1,:)*p; % y(i,j)=M(2,:)*p; % end % end % z=0; % for k=0:20 % z=z+0.5^k*cos(2*pi*3^k*(x+0.5))+0.5^k*cos(2*pi*3^k*(y+0.5)); % end % temp=0; % for k=0:20 % temp=temp+0.5^k*cos(2*pi*3^k*0.5); % end % z=z-2*temp; % axis([-1.5,1.5,-1.5,1.5]); % meshc(x,y,z); % xlabel('x'); ylabel('y'); zlabel('f(x,y)'); colormap jet; % clear; %saveas(gcf,'temp.jpg')