%适应度函数(fitness.m)
function result=fitness(x,D)
sum=0;
for i=1:D
sum=sum+x(i)^2;
end
result=sum;
这里哪是子函数的名称?子函数在MATLAB中应该先写还是后写?
这一段是一个完整的子函数吗?怎么我直接COPY到MATLAB中会提示没有fitness这个功能,如果我想在MATLAB中写入这个子函数应该怎么写?请给个完整的可以写入MATLAB的子函数程序。主函数是在这里调用了这个子函数:
%-----初始化种群个体(在此限定速度和位置)------------
x2=x;
v2=v;
%-----初始化种群个体最有位置和 最优解-----------
p2=x2;
pbest2=ones(N,1);
for i=1:N
pbest2(i)=fitness(x2(i,:),D);
end
主程序里要注意D的取值
子函数在MATLAB中单独作为.m文件
将内容输入即可