decode.m

来自「matlab遗传算法程序」· M 代码 · 共 20 行

M
20
字号
function [x1,x2]=decode(a,low,up,length)
%解码函数
%a为待解码个体,将个体分成两端后分别解码得到两个变量的值

str1=0;
str2=0;

for i=1:length
    if a(length+1-i)
        str1=str1+2^(i-1);    %求解二进制字符串代表的十进制数值
    end
end
x1=low+str1*(up-low)/(2^length-1);    %求解解码后的十进制数

for i=1:length
    if a(2*length+1-i)
        str2=str2+2^(i-1);   
    end
end
x2=low+str2*(up-low)/(2^length-1);

⌨️ 快捷键说明

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