cross_over.m
来自「遗传算法和神经网络混合编程」· M 代码 · 共 25 行
M
25 行
function y=cross_over(chrom)
% [m,n]=size(chrom);
% temchrom=zeros(1,n);
% for i=1:2:m-1
% % c=rand(1);
% % temchrom=chrom(i,:);
% % chrom(i,:)=c.*chrom(i,:)+(1-c).*chrom(i+1,:);
% % chrom(i+1,:)=(1-c).*temchrom+c.*chrom(i+1,:);
% c=rand(1);
% temchrom=chrom(i,:);
% chrom(i,:)=c.*chrom(i,:)+(1-c).*chrom(i+1,:);
% chrom(i+1,:)=(1-c).*temchrom+c.*chrom(i+1,:);
% end
% y=chrom;
[m,n]=size(chrom); %两点交叉
temchrom=zeros(1,n);
for i=1:2:m-1
c=1+fix(n*rand(1,2));
c_a=min(c);
c_b=max(c);
temchrom=chrom(i,:);
chrom(i,c_a:c_b)=chrom(i+1,c_a:c_b);
chrom(i+1,c_a:c_b)=temchrom(:,c_a:c_b);
end
y=chrom;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?