资源简介

果蝇优化算法matlab程序,适应度函数请下载AdaptFunc.m。应用环境LSSVMlabv1_8_R2009b_R2011a。

资源截图

代码片段和文件信息

function [gamreturn sig2return] = foa(maxgensizepop)

global X;
global Y;
global Xt;
global Yt;
global mseprocess2;
global mseprocess3;

  
X_axis=100*rand(12);
Y_axis=100*rand(12);

% maxgen=7; 
% sizepop=20; 
%B=0;

disp(‘开始初始计算‘);
Smellbest=1000;%Smellbest初始值


for gen=1:maxgen    


  for i=1:sizepop
      
      
%        g=0;%误差平方和
      %初始化果蝇个体飞行距离
      x(i:)=X_axis+20*rand()-15;
      y(i:)=Y_axis+20*rand()-15;

     %求出与原点的距离
     D(i1)=(x(i1)^2+y(i1)^2)^0.5; 
     D(i2)=(x(i2)^2+y(i2)^2)^0.5;

%求味道浓度
      S(i1)=1/D(i1);
      S(i2)=1/D(i2);
%设定LSSVM参数值
%      type = ‘function estimation‘;
     gam(i)=150*S(i1);
     sig2(i)=0.1*S(i2);
    %开始训练
%     [alphab] = trainlssvm({X1Y1typegamsig2‘RBF_kernel‘});
%     Yt = simlssvm({X1Y1typegamsig2‘RBF_kernel‘‘preprocess‘}{alphab}Xt);
%     eer=Yt-Ytr;
%     for j=1:length(Xt)
%          g=g+eer(j)^2;
%     end
%      Smell(i)=g/length(Xt);
Smell(i)=1/AdaptFunc(gam(i)sig2(i));
     
  end
%   max(gam)
  [bestSmell bestindex]=min(Smell);

   if bestSmell         X_axis=x(bestindex);
         Y_axis=y(bestindex);
         Smellbest=bestSmell;
         gamreturn=150*S(bestindex1)
         sig2return=0.1*S(bestindex2)
   end
   %
  mseprocess2(gen)=Smellbest; 
   Xbest(gen)=X_axis;
   Ybest(gen)=Y_axis;
   
end

% gamreturn
%
figure(1);
plot(mseprocess2);


end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1504  2014-02-06 21:41  foa.m

评论

共有 条评论