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

📄 crossover.m

📁 Advanced Human Mood detection technique using Genetic Algorithms in Matlab
💻 M
字号:
function newpop=crossover(pop,rank,newpop)

rw = zeros(20,1);
tot = sum(rank);
flag = 0;

for i = 1:20
    temp = rank(i)/tot;
    flag = flag + temp;
    rw(i) = flag;
end
count = 3;
for i = 1:9
    flag = 0;
    s1 = rand();
    for j = 1:20
        if s1<rw(j)
            flag = j;
            break;
        end
    end
    p1 = pop(:,flag);
    
    s2 = rand();
    for j = 1:20
        if s2<rw(j)
            flag2 = j;
            break;
        end
    end
    while flag2 == flag
        s2 = rand();
        for j = 1:20
            if s2 <rw(j)
                flag2 = j;
                break;
            end
        end
    end
    p2 = pop(:,flag2);
    
    cp = ceil(26*rand()) + 1;
    
    for in = cp:27
        temp = p1(in);
        p1(in) = p2(in);
        p2(in) = temp;
    end
    newpop(:,count) = p1(:);
    count = count + 1;
    newpop(:,count) = p2(:);
    count = count + 1;
end

    

⌨️ 快捷键说明

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