plus.m
来自「一些用matlab编写的经典遗传算法算例。可以用于解决许多优化问题」· M 代码 · 共 36 行
M
36 行
function c = plus(c1,c2)
% PLUS - Implements uniform crossover
%
cdvs_1=get(c1,'cdvs');
ddvs_1=get(c1,'ddvs');
cdvs_2=get(c2,'cdvs');
ddvs_2=get(c2,'ddvs');
if ~isempty(cdvs_1)
for k=1:length(cdvs_1)
name=get(cdvs_1(k),'name');
ind=find(cdvs_2,name);
if ind
cdvs_1(k)=cdvs_1(k)+cdvs_2(ind);
end
end
else
cdv_1=cdv;
end
if ~isempty(ddvs_1)
for k=1:length(ddvs_1)
name=get(ddvs_1(k),'name');
ind=find(ddvs_2,name);
if ind
ddvs_1(k)=ddvs_1(k)+ddvs_2(ind);
end
end
else
ddvs_1=ddv;
end
c=chrom(get(c1,'name'),cdvs_1,ddvs_1);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?