动物集群运动行为模型-15(4)

2018-11-18 21:11

?????Ft?F1?F2?F3?F4

??当力F4相比其他几个力较大时,力Ft?的方向就趋向于力F4的方向。个体运

动具体表现为,个体趋向于信息丰富者运动。在群体运动过程中,表现为一些信息丰富者运动在群体的前方,“领导”着群体运动。

当一些单位获取到信息后,它们一方面向目标运动,另一方面向周围同伴传递信息,同伴接收到信息后,向信息丰富者和目标运动,同时发送信息,让更多的个体得知信息。通过信息的传递与趋向运动,进而形成了群体的运动。

五、模型评价

5.1模型优点

(1)从分析受力的角度,建立了矢量模型。定量的计算了鱼的运动状态,结果准确可靠。

(2)将鱼群中鱼当做有前后端的粒子,简化了问题,减少了计算量。

(3)引入了空间坐标,利用坐标进行运算,使得运算更加便捷,结果更加准确。 (3)分析鱼群运动较为细致全面,仿真结果较为准确。 5.2模型缺点

(1)方程数量较多,使仿真程序较复杂。

(2)查找的数据有限,结果可能会存在一定的误差。

参考文献

[1] 柳玲飞,周应祺.红鼻鱼群体结构的数学建模与仿真可视化,上海海洋大学海洋科学学院,2012.12.

[2] 程代展,胨翰馥.从群集到社会行为控制[J],科技导报, 2004.8. [3] 赵建,曾建潮.鱼群集群行为的建模与仿真[J],太原科技大学学报. [4] 肖人彬,陶振武.群集智能研究进展[J].管理科学学报, 2007.10

[5] 郑毅,吴斌.由鸟群和蚂蚁想到的—基于主体的仿真与群集智能的研究[J].微电脑世界,2001.1.

16

附录

程序

问题一: %仿真

clear;clc t=0.5;n=100;

x(1,:)=40*rand(1,n);y(1,:)=40*rand(1,n); draction(1,:)=(rand(1,n)-0.5)*2*pi; d=[];

for k=1:100 %%距离 for i=1:n

for j=1:n

d(i,j)=sqrt((x(k,i)-x(k,j))^2+(y(k,i)-y(k,j))^2); end end

for i=1:n

d(i,i)=inf; end

%%速度方向 for i=1:n

A=0;B=0.1; for j=1:n

if d(i,j)<0.3

A=A-draction(k,j)/d(i,j); B=B-1/d(i,j); if A~=0

draction(k+1,i)=(1-t)*draction(k,i)-t*A/B; else draction(k+1,i)=draction(k,i); end

elseif d(i,j)<5

A=A-draction(k,j)/d(i,j); B=B-1/d(i,j);

if A~=0

draction(k+1,i)=(1-t)*draction(k,i)+t*A/B; else draction(k+1,i)=draction(k,i); end end end

17

v(k+1,i)=0.5;%速度大小的更新 end

%%坐标的更新 for i=1:n

x(k+1,i)=x(k,i)+v(k+1,i)*cos(draction(k+1,i))*1; y(k+1,i)=y(k,i)+v(k+1,i)*sin(draction(k+1,i))*1; if x(k+1,i)>40

x(k+1,i)=x(k+1,i)-40; elseif x(k+1,i)<0

x(k+1,i)=x(k+1,i)+40; end

if y(k+1,i)>40

y(k+1,i)=y(k+1,i)-40; elseif y(k+1,i)<0

y(k+1,i)=y(k+1,i)+40; end end end

for i=1:k pause(0.2)

plot(x(i,:),y(i,:),'*') axis([0 40 0 40]) getframe; end

问题二: clear clc

t=0.5;n=300;

x=[];y=[];xs=[];

x(1,:)=40*rand(1,n);y(1,:)=40*rand(1,n); draction(1,:)=(rand(1,n)-0.5)*2*pi; d=[];

%初始化鲨鱼坐标

xs(1,:)=40*rand(1,1);ys(1,:)=40*rand(1,1); dractions(1,1)=(rand(1,1)-0.5)*2*pi; for k=1:200

dractions(k+1,1)=dractions(k,1)+(rand(1,1)-0.5); vs(k+1,1)=0.7;

xs(k+1,1)=xs(k,1)+vs(k+1,1)*cos(dractions(k+1,1))*1; ys(k+1,1)=ys(k,1)+vs(k+1,1)*sin(dractions(k+1,1))*1; if xs(k+1,1)>40

xs(k+1,1)=xs(k+1,1)-40;

18

elseif xs(k+1,1)<0

xs(k+1,1)=xs(k+1,1)+40; end

if ys(k+1,1)>40

ys(k+1,1)=ys(k+1,1)-40; elseif ys(k+1,1)<0

ys(k+1,1)=ys(k+1,1)+40; end

for i=1:n

ds(i)=sqrt((x(k,i)-xs(k,1))^2+(y(k,i)-ys(k,1))^2); for j=1:n

d(i,j)=sqrt((x(k,i)-x(k,j))^2+(y(k,i)-y(k,j))^2); end end

for i=1:n

d(i,i)=inf; end %%方向 for i=1:n

A=0;B=0.1; for j=1:n

if d(i,j)<0.2

A=A-draction(k,j)/3; B=B-1/d(i,j); if A~=0

draction(k+1,i)=(1-t)*draction(k,i)-t*A/B; else draction(k+1,i)=draction(k,i); end

elseif d(i,j)<5

A=A-draction(k,j)/d(i,j); B=B-1/d(i,j); if A~=0

draction(k+1,i)=(1-t)*draction(k,i)+t*A/B; else draction(k+1,i)=draction(k,i); end end end

if ds(i)<5

if x(k,i)>xs(k,1);

draction(k+1,i)=atan((y(k,i)-ys(k,1))./(x(k,i)-xs(k,1))); end

if x(k,i)

draction(k+1,i)=atan((y(k,i)-ys(k,1))./(x(k,i)-xs(k,1)))+pi;

19

end end

v(k+1,i)=0.5; end

%%坐标的更新 for i=1:n

x(k+1,i)=x(k,i)+v(k+1,i)*cos(draction(k+1,i))*1; y(k+1,i)=y(k,i)+v(k+1,i)*sin(draction(k+1,i))*1; if x(k+1,i)>40

x(k+1,i)=x(k+1,i)-40; elseif x(k+1,i)<0

x(k+1,i)=x(k+1,i)+40; end

if y(k+1,i)>40

y(k+1,i)=y(k+1,i)-40; elseif y(k+1,i)<0

y(k+1,i)=y(k+1,i)+40; end end end

for i=1:k pause(0.2)

plot(x(i,:),y(i,:),'.',xs(i,:),ys(i,:),'ro') axis([0 40 0 40]) getframe; end

20


动物集群运动行为模型-15(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数据库系统课内实验报告 西安交通大学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: