📄 de (2).m
字号:
function y=DE(f,a,b)
F=1;
N=10;
n=length(a);
m=ceil(n/3); %
% 随机产生N个初始解
X=rand(n,N).*(b-a);
for k=1:100
fv=[];
for i=1:N
fv(i)=feval(f,X(:,i));
end
[ta,tb]=min(fv);
xd=X(:,tb);
xb=X(:,ceil(rand(1)*N));
xc=X(:,ceil(rand(1)*N));
u=(F+0.5)*xd+(F-0.5)*X(:,i)+F(xb-xc);
[tc,td]=sort(rand(1,n));
x_hat=X(:,i);
x_hat(td(1:m))=u(td(1:m));
if feval(f,x_hat)<feval(f,X(:,i));
X(:,i)=x_hat;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -