www.gusucode.com > 《MATLAB智能算法30个案例》分析源代码 > 《MATLAB智能算法30个案例》分析源代码/code/chapter8/bin2decFun.m

    function X=bin2decFun(x,lenchrom,bound)
%% 二进制转化成十进制
% 输入      x:二进制编码
%    lenchrom:各变量的二进制位数
%       bound:各变量的范围
% 输出      X:十进制数
M=length(lenchrom);
n=1;
X=zeros(1,M);
for i=1:M
    for j=lenchrom(i)-1:-1:0
        X(i)=X(i)+x(n).*2.^j;
        n=n+1;
    end
end
X=bound(:,1)'+X./(2.^lenchrom-1).*(bound(:,2)-bound(:,1))';