• 大小: 866.17 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-10-14
  • 语言: 其他
  • 标签: QGA  matlab  

资源简介

完全可用的量子遗传算法, matlab语言

资源截图

代码片段和文件信息

function [ang]=angle(mepopfitnesspoppopsizelchromfL)
% 计算量子门旋转的角度

ang             = zeros(popsizelchrom);
deta            = 0.2*pi;
for i=1:popsize
  if  fitness(i)<=f                     %此时向b的投影方向靠拢
    for j=1:lchrom
      s=0;
      a=pop(ij1);
      b=pop(ij2);
      if mepop(ij)==0&L(j)==0&a*b>0    %ok
        s=-1;
      end           
      if mepop(ij)==0&L(j)==0& a*b<0
        s=1;
      end            
      if  mepop(ij)==0&L(j)==0&a==0  
        s=1;
      end
      
      if mepop(ij)==0&L(j)==1&a*b>0    %ok
        s=1;
      end            
      if   mepop(ij)==0&L(j)==1&a*b<0
        s=-1;
      end             
      if  mepop(ij)==0&L(j)==1& b==0  
        s=1;
      end 
      
      if mepop(ij)==1&L(j)==0&a*b>0        %ok
        s=-1;
      end           
      if mepop(ij)==1&L(j)==0& a*b<0
        s=1;
      end            
      if  mepop(ij)==1&L(j)==0&a==0  
        s=1;
      end
      
      if mepop(ij)==1&L(j)==1&a*b>0        %ok
        s=1;
      end            
      if   mepop(ij)==1&L(j)==1&a*b<0
        s=-1;
      end             
      if  mepop(ij)==1&L(j)==1& b==0  
        s=1;
      end 
      ang(ij)=deta*s;
    end
  else                      % fitness(i)>f 此时向x的投影方向靠拢
    for j=1:lchrom
      s=0;
      a=pop(ij1);
      b=pop(ij2);
      if mepop(ij)==0&L(j)==0&a*b>0    %ok
        s=-1;
      end           
      if mepop(ij)==0&L(j)==0& a*b<0
        s=1;
      end            
      if  mepop(ij)==0&L(j)==0&a==0  
        s=1;       
      end
      
      if mepop(ij)==0&L(j)==1&a*b>0    %ok
        s=-1;
      end           
      if mepop(ij)==0&L(j)==1& a*b<0
        s=1;
      end            
      if  mepop(ij)==0&L(j)==1&a==0  
        s=1;       
      end
      
      if mepop(ij)==1&L(j)==0&a*b>0    %ok
        s=1;
      end            
      if   mepop(ij)==1&L(j)==0&a*b<0
        s=-1;
      end             
      if  mepop(ij)==1&L(j)==0& b==0  
        s=1;
      end 
      
      if  mepop(ij)==1&L(j)==1& a*b>0  %ok
        s=1;
      end 
       if  mepop(ij)==1&L(j)==1& a*b<0  
        s=-1;
      end 
       if  mepop(ij)==1&L(j)==1& b==0  
        s=1;
      end 
      ang(ij)=deta*s;
    end 
  end  
end
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     526272  2013-04-16 09:40  1_QGA\3_量子进化算法.caj

     文件       2388  2013-04-16 09:38  1_QGA\angle.m

     文件        688  2013-04-16 09:18  1_QGA\measure.m

     文件         66  2013-04-09 09:37  1_QGA\morlet.m

     文件       1187  2013-04-15 20:09  1_QGA\nninit_test.m

     文件       1170  2013-04-16 09:29  1_QGA\popFitness.m

     文件       1824  2013-04-17 09:20  1_QGA\QGA.m

     文件        504  2013-04-16 09:09  1_QGA\QGA_test.m

     文件         46  2013-04-09 09:22  1_QGA\sigmoid.m

     文件     380709  2013-02-28 08:28  1_QGA\算法_量子遗传算法的变尺度混沌优化策略研究.pdf

     目录          0  2013-04-16 09:30  1_QGA

----------- ---------  ---------- -----  ----

               914854                    11


评论

共有 条评论