generalizedpenalizedfunction.m

来自「用MATLAB编写的18个智能优化算法的测试函数程序」· M 代码 · 共 28 行

M
28
字号
clear

[x,y] = meshgrid(-50:0.5:50);
yy1=1+(x+1)/4;
yy2=1+(y+1)/4;
l=size(x,1);
for i=1:l
    for j=1:l
        if x(i,j)>10
            u1(i,j)=100*(x(i,j)-10)^4;
        elseif x(i,j)<-10
            u1(i,j)=100*(-x(i,j)-10)^4;
        else
            u1(i,j)=0;
        end
        if y(i,j)>10
            u2(i,j)=100*(y(i,j)-10)^4;
        elseif y(i,j)<-10
            u2(i,j)=100*(-y(i,j)-10)^4;
        else
            u2(i,j)=0;
        end
    end
end
z=pi/2*(10*(sin(pi*yy1)).^2+(yy1-1).^2*(1+10*(sin(pi*yy2)).^2)+(yy2-1).^2)+u1+u2;
mesh(x,y,z);
title('Generalized Penalized Function','FontSize',16);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?