init.m

来自「多目标遗传算法/用法不用多说、要用的赶快下载吧」· M 代码 · 共 68 行

M
68
字号
function g = init(gn)% INIT - initiates the gene the function initiates a design% variable, i.e. it assigns a random binary string to the DNA and% converts its value to decimal form.if isa(gn,'cdv')  if (gn.bits)==0    gn.dna=[];    gn.value=[];  else    gn.dna=cdna(gn.bits);    gn.value=convert(gn);    endelseif isa(gn,'ddv')  val=get(gn,'p_val');  if isempty(get(gn,'p_val'))    gn.dna=[];     gn.value=[];  else    gn.dna=ddna(val);    gn.value=convert(gn);  endelse  error('wrong argument')endg=gn;function d = cdna(b)% CDNA - %   d=rand(1,b);for k=1:b  if d(k)<0.5    d(k)=0;  else    d(k)=1;  endendfunction d = ddna(b)% DDNA - %   l=nextpow2(b);d=rand(1,l);for k=1:l  if d(k)<0.5    d(k)=0;  else    d(k)=1;  endendif bin2int(d)>b-1  d=ddna(b);end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?