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的每行之和,即得到每行二进制表示变为十进制表示值,实现二进制到十进制的转变