gusucode.com > 十大算法matlab程序说明 > 十大算法matlab程序说明/模拟退火,禁忌搜索,遗传算法,神经网络-MATLAB程序合集/简单函数优化的遗传算法程序/objf.m
%计算适应度函数 function [f,p]=objf(s); inn=size(s,1); %有inn个个体 bn=size(s,2); %个体长度为bn for i=1:inn x=n2to10(s(i,:)); %讲二进制转换为十进制 xx=-1.0+x*3/(power(2,bn)-1); %转化为[-1,2]区间的实数 f(i)=ft(xx); %计算函数值,即适应度 end f=f'; %计算选择概率 fsum=sum(f.*f); ps=f.*f/fsum; %计算累积概率 p(1)=ps(1); for i=2:inn p(i)=p(i-1)+ps(i); end p=p';