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 + -
显示快捷键?