gusucode.com > 改进的遗传算法的课表编排功能matlab源码程序 > 改进的遗传算法的课表编排功能/改进的遗传算法的课表编排功能/排课/decodebinary.m
% 2.2 计算目标函数值 % 2.2.1 将二进制数转化为十进制数(1) %遗传算法子程序 %Name: decodebinary.m %产生 [2^n 2^(n-1) ... 1] 的行向量,然后求和,将二进制转化为十进制 function pop2=decodebinary(pop) [px,py]=size(pop); %求pop行和例数 for i=1:py pop1(:,i)=2.^(py-1).*pop(:,i); %pop的每一个行向量(二进制表示),for循环语句将每个二进制行向量按位置 py=py-1; % 乘上权重 end pop2=sum(pop1,2); %求pop1的每行之和,即得到每行二进制表示变为十进制表示值,实现二进制到十进制的转变