📄 fitness.m
字号:
%--------适应值函数--------------------------------------------------
function result=fitness(x,m)
%--声明全局------------
global fitw1;
global fitw2;
global segR;
global g;
%--
sum = 0;
for i = 1:m
if 1 == i
tempdis = segR;
else
tempdis = sqrt( ((i-1)*segR)^2+(i*segR)^2-...
2*((i-1)*segR)*(i*segR)*...
cos(x(i-1)-x(i)) );
end
sum = sum + tempdis;
end
[tempPoint(1),tempPoint(2)]=plorTozhijiao(i*segR,x(i));
dist = distance(tempPoint(1),tempPoint(2),g(1),g(2));
sum = fitw1*sum + fitw2*dist;
result=sum;
% sum = 0 ;
% for i=1:m
% %如果j是1的话就将curpoint赋值给purPoint
% %如果不是的话讲将前一个的tempPoint赋值给purPoint
% if 1 == i
% purPoint = curpoint;
% else
% purPoint = tempPoint;
% end
% %将极坐标转换为直角坐标
% [tempPoint(1),tempPoint(2)]=plorTozhijiao(i*segR,x(i));
% %计算2点的距离
% tempdis = distance(purPoint(1),curpoint(2),...
% tempPoint(1),tempPoint(2));
% sum = sum + tempdis;
% end
% %最后的点和目标点的距离
% tempdis = distance(tempPoint(1),tempPoint(2),g(1),g(2));
% %将当前移动的距离和最后点到目标的距离之和作为适应值函数
% sum = fitw1*sum + fitw2*tempdis;
% result=sum;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -