细菌觅食优化算法迁徙操作的代码

BFO算法在迁徙部分完成:
对每个细菌随机生成一个概率值,若该值<Ped,则该细菌消亡重新生成一个新的。
目前见到的经典BFO代码的迁徙部分都是这么写的:

    for m=1:s
        if  Ped>rand % % Generate random number
            P(1,:,1,1,1)= 50*rand(s,1)';
            P(2,:,1,1,1)= .2*rand(s,1)';
           %P(3,:,1,1,1)= .2*rand(s,1)';
        else
            P(:,m,1,1,ell+1)=P(:,m,1,Nre+1,ell); % Bacteria that are not dispersed
        end
    end
end % Go to next elimination and disperstal

实在不理解,为什么细菌消亡后产生的新值要赋值给P(1,:,1,1,1)而不是P(:,m,1,1,ell+1)?这个新值不是应该用于下一次趋化开始么?
其中,P(维度,第i个细菌,第j-1次趋化,第k次复制,第l次迁徙)

感激不尽!