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

📄 migration.m

📁 量子遗传算法MATLAB源代码
💻 M
字号:
% 移民函数
function [individualQ,individualR]=Migration(n,k,preGen,migGen,migRate,numLayer,bestIndR,individualQ,individualR)
number=floor(n*migRate);                   %单列量子变化个数(目前存在BUG,只能n=20,migRate=0.1)
for i=1:k
    for j=1:4
        while (1)
            poi=rand(1,number);
            if abs(poi(1)-poi(2))>(1/n)
                break
            end
        end
        for jj=1:number
            for ii=1:n
                if ((ii-1)/n)<=poi(jj)&poi(jj)<=(ii/n)       % 选择移民位置
                    p=rand(1,1);
                    if p>0.5
                        Ma=(1/sqrt(2));                      % 随机生成新的量子位
                    else
                        Ma=-(1/sqrt(2));
                    end
                   % Mb=sqrt(1-(Ma^2));
                    p=rand(1,1);
                    if p>0.5
                        Mb=(1/sqrt(2));
                    else
                        Mb=-(1/sqrt(2));
                    end
                    [individualQ(1,ii,j,i)]=Ma;
                    [individualQ(2,ii,j,i)]=Mb;
                end
            end
        end
        [individualR(j,i)]=tranQ2R(individualQ(1,:,j,i),n,j,k,numLayer,bestIndR);
    end
end

                
       
    

⌨️ 快捷键说明

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