www.gusucode.com > matlab编程求解机器人的正逆解 采用遗传算法对机器人进行路径规划源码程序 > code/遗传算法/Genetic_matate.m

    function P = Genetic_matate(vecpop)
%此为遗传算法的变异函数

%参数初始化
Genetic_init

len = length(vecpop);
P = vecpop;
matateRadom = rand(1,len);

for i=1:len
    if matateRadom(i) < matationRate
        matateNumber = randi(14,1,1);           %变异数量
        matatePositon = randi(14,1,matateNumber);  %变异位置
        for j=1:matatePositon
            matate_delta = (0.1*rand-0.05)/1000;
            temp =  P{i}(j);
            P{i}(j) = temp+matate_delta;        %变异操作
        end
    end
end

disp('完成一次基因变异');