urealcross.m
来自「自编遗传算法程序」· M 代码 · 共 23 行
M
23 行
function x=URealCross(x,Pc)
[m,n]=size(x);
x1=x(1:m/2,:);
x2=x(m/2+1:end,:);
a=0.3;
r=rand(m,1)<Pc;
r=repmat(r,1,n);
%for i=1:m/2
% if rand<Pc
% x(i,:)=(a.*x2(i,:)+(1-a).*x1(i,:));
% end
%end
%for i=m/2+1:m
% if rand<Pc
% x(i,:)=(a.*x1(i,:)+(1-a).*x2(i,:));
% end
%end
x(1:m/2,:)=(a.*x2+(1-a).*x1).*r(1:m/2,:)+x1.*(~r(1:m/2,:));
x(m/2+1:end,:)=(a.*x1+(1-a).*x2).*r(m/2+1:end,:)+x2.*(~r(m/2+1:end,:));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?