📄 follow.m
字号:
function [Xi,flag]=follow(X,N,Visual,deta,i,edge)%本程序是第i条人工鱼试图进行追尾行为,假如追尾成功,则flag 为1,X中为i鱼追尾后的状态,否则flag为0
Index=near(X,N,i,Visual);%第i条人工鱼的邻居下标
Xi=[];%默认它追尾失败
flag=0;
if(length(Index)==0)%它视野里看不到伙伴
return;
end
bestY=1000;
beatj=0;
for j=1:length(Index)
tY=evaluate(X(Index(j),:),edge);
if(bestY>tY)
bestY=tY;
bestj=Index(j);
end
end%至此找到第i条人工鱼邻域内状态最佳的邻居bestj
if(evaluate(X(i,:),edge)>bestY)
Index=near(X,N,bestj,Visual);%第bestj条人工鱼的邻居下标
nf=length(Index);
if(nf/N<deta) %追尾成功
Xi=X(bestj,:);
flag=1;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -