gen_encode.m

来自「遗传算法 并有很简单的例子。对于初学者来说是个不错的选择」· M 代码 · 共 20 行

M
20
字号
  function P=gen_encode(X,Nb,l,u)
%%将群体X的状态编码为 二进制数组P
Np=size(X,1);%%群体大小
N=length(Nb); %%变量(状态)维数
for n=1:Np
    b2=0;
    for m=1:N
        b1=b2+1;
        b2=b2+Nb(m);
        Xnm=(2^Nb(m)-1)*(X(n,m)-l(m))/(u(m)-l(m)); %解码方程
        tmp=dec2bin(Xnm,Nb(m));
        ss=length(tmp);
        if ss>(b2-b1+1)
            P(n,b1:b2)=tmp(ss-(b2-b1+1)+1:ss);
        else
            P(n,b1:b2)=tmp; %十进制 转换为2 进制    
        end
    end
end

⌨️ 快捷键说明

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