decode.m

来自「这是一个遗传算法中所目标优化的问题」· M 代码 · 共 17 行

M
17
字号
function [x1,x2]=decode(a,low,up1,up2,length1,length2)
%解码函数
%a为待解码个体,将个体分成两端后分别解码得到两个变量的值
str1=0;
str2=0;
for i=1:length1
   if a(length1+1-i)
      str1=str1+2^(i-1); %求解二进制字符串代表的十进制数值
   end
end
x1=low+str1*(up1-low)/(2^length1-1); %求解解码后的十进制数
for i=1:length2
    if a(2*length2+1-i)
       str2=str2+2^(i-1);
    end
end
x2=low+str2*(up2-low)/(2^length2-1);

⌨️ 快捷键说明

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