objf.m

来自「本源码是基于遗传算法的多维函数值的优化计算」· M 代码 · 共 28 行

M
28
字号
%计算适应度函数

function [f,p]=objf(s);

inn=size(s,1);%有inn个个体
N=50; %个体中有N个变量
bn=size(s,2)/N;    %个体中每个变量的长度为bn

for i=1:inn
   for j=1:N
     x=n2to10(s(i,(bn*(j-1)+1):(bn*j)));  %讲二进制转换为十进制
     xx=-500.0+x*1000/(power(2,bn)-1);  %转化为[-500,500]区间的实数
     X(j)=xx; %得到N个十进制的数,带入适应度函数求适应度
   end
  f(i)=7.03e-008-ft(X);  %计算函数值,即适应度(该适应度函数有待改进)
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';

⌨️ 快捷键说明

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