adapting.m

来自「该源码是神经网络中常用的遗传算法的代码。遗传算法是最优化常用的解法之一。」· M 代码 · 共 51 行

M
51
字号
for i=1:40
  for k=1:2
     Adapt(i,k)=0;
  end
  adapt(i)=0;
end
 for i=1:40
    k=1;
    for j=1:10
        if pop(i,j)==1
            Adapt(i,k)=Adapt(i,k)+2^(10-j);
        end
    end
    k=2;
    for j=11:20
        if pop(i,j)==1
            Adapt(i,k)=Adapt(i,k)+2^(20-j);
        end
    end
   for k=1:2
      Adapt(i,k)=Adapt(i,k)*0.004-2.048;
   end
   adapt(i)=100*(Adapt(i,1)-Adapt(i,2))^2+(1-Adapt(i,1))^2;
end
 
global adapt_best;
global best_pos;

adapt_best=0;   %最佳个体
best_pos=0;     %最佳个体在种群中的位置
% adapt_ave=0;

for i=1:40
    adapt_ave(G)=adapt_ave(G)+adapt(i);
    if adapt_best<adapt(i)
        adapt_best=adapt(i);
        best_pos=i;
    end
end
 
adapt_ave(G)=adapt_ave(G)/40;
best(G)=adapt_best;

for i=1:20
   best_indi(G,i)=pop(best_pos,i);
end   

clear i;
clear j;
clear k;
clear Adapt;

⌨️ 快捷键说明

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