⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 de (2).m

📁 DE 生物进化算法的matlab实现
💻 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 + -