changea1.m

来自「遗传算法的小程序」· M 代码 · 共 19 行

M
19
字号
% changeA1.m
for s_1=1:length(f_4)                        
    find1Atemp=find(Atemp==f_4(s_1));        % find1Atemp用来存放Atemp中工件号f_4(j)的下标
    for i=1:length(find1Atemp)             % 编号为f_4的基因将全部被替换
        r1=ceil(rand*length(Adetaset));    % r1为一随机数,用来提起Adetaset中的一个元素
        Atemp(find1Atemp(i))=Adetaset(r1); % 将Atemp中基因进行变换
        Adetaset(r1)=[];
    end
end
for s_1=1:length(f_6)
    find2Atemp=find(Atemp==f_6(s_1));
    for i=1:deta_6(s_1)
        r2=ceil(rand*length(find2Atemp));   %生成随机数用来从编号为f_6的基因中提取deta_6个元素出来被替换
        r3=ceil(rand*length(Adetaset));     %生成随机数用来从Adetaset中提取元素
        Atemp(find2Atemp(r2))=Adetaset(r3);
        Adetaset(r3)=[];
        find2Atemp(r2)=[];
    end
end

⌨️ 快捷键说明

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