gusucode.com > 改进的遗传算法的课表编排功能matlab源码程序 > 改进的遗传算法的课表编排功能/改进的遗传算法的课表编排功能/排课/decodechrom.m

    % 2.2.2 将二进制编码转化为十进制数(2)
% decodechrom.m函数的功能是将染色体(或二进制编码)转换为十进制,参数spoint表示待解码的二进制串的起始位置
% (对于多个变量而言,如有两个变量,采用20为表示,每个变量10为,则第一个变量从1开始,另一个变量从11开始。本例为1),
% 参数1ength表示所截取的长度(本例为10)。
%遗传算法子程序
%Name: decodechrom.m
%将二进制编码转换成十进制
function pop2=decodechrom(pop,spoint,length)
pop1=pop(:,spoint:spoint+length-1); %将从第“spoint”位开始到第“spoint+length-1”位(这段码位表示一个参数)取出
pop2=decodebinary(pop1);   %利用上面函数“decodebinary(pop)”将用二进制表示的个体基因变为十进制数