📄 prey.m
字号:
function [Xii,flag]=prey(X,CityNum,i,Visual,trynumber,edge)%本程序用来使第i条人工鱼觅食,假如觅食成功,则flag 为1,X中为i鱼觅食后的状态,否则flag为0
Xii=[];
flag=0;%默认它追尾失败
for j=1:trynumber %虽然增加了许多while循环,但是并没用多少时间,为的是首尾兼顾
while(1)
DJ=floor(rand*Visual)+1; %不相同的字段数
if(DJ>0&DJ<=Visual) %在视野范围内
break;
end
end
while(1)
S(1)=floor(rand*CityNum)+1;
if(S(1)>1&S(1)<=CityNum) %在所有城市里
break;
end
end
p=1;
while(p<DJ)
t=floor(rand*CityNum)+1;
if(t>1&t<=CityNum&sum(S==t)==0)
p=p+1;
S(p)=t;
end
end
Xi=X(i,:);
t=Xi(S(1));
for k=1:DJ-1
Xi(S(k))=Xi(S(k+1));
end
Xi(S(DJ))=t;
if(evaluate(Xi,edge)<evaluate(X(i,:),edge))
Xii=Xi;
flag=1;
return;
end
end
Xii=Xi;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -