【正文】
度為原速度,當(dāng),個(gè)體的運(yùn)動(dòng)速度比原模型快,系統(tǒng)更易趨于同步。當(dāng)個(gè)體超出活動(dòng)范圍時(shí),它會向相反的方向運(yùn)動(dòng),即:當(dāng)在活動(dòng)范圍內(nèi)時(shí),對各個(gè)原則的影響設(shè)置權(quán)重,在此更多地考慮聚集性和排列性。再有了多數(shù)個(gè)體向食物運(yùn)動(dòng)后,剩下的少部分離信息豐富較遠(yuǎn)的個(gè)體,由于必須向整體的中心和平均方向靠攏的原則,所以這部分個(gè)體會先向整體靠近,然后感知到向食物運(yùn)動(dòng)的鄰居,接著使自己的位置和速度方向向食物轉(zhuǎn)移。、模型的缺點(diǎn)(1)、表達(dá)式中的權(quán)重都是人為規(guī)定的,有一定偏差。y=zeros(1,30)。 %定義各個(gè)方向向量direc2=cell(1,30)。direc8=cell(1,30)。 direc3{i}=zeros(1,3)。k=0。 for j=1:30 if j==i continue else for r=1:30 direc7{i}=(direc7{i}+pos{r}pos{i})./r。(norm(pos{i}pos{j})=) %向心性和同向性 m=m+1。 direc3{i}=(direc3{i}+direc1{j})./m。 %排斥性 end end end if (pos{i}(1)=10)||(pos{i}(2)=10)||(pos{i}(1)=0)||(pos{i}(2)=0)||(pos{i}(3)=10)||(pos{i}(3)=0) direc1{i}=direc1{i}*(1)。 y(i)=pos{i}(2)。)axis([0 10 0 10 0 10],39。)grid on。direcpre=pos{1}pre。z=zeros(1,100)。direc3=cell(1,100)。direc7=cell(1,100)。 direc2{i}=zeros(1,3)。 direc8{i}=zeros(1,3)。 k=0。 for j=1:100 if j==i continue else direc7{i}=(direc7{i}+pos{j}pos{i})./j。(norm(pos{i}pos{j})=) m=m+1。 direc3{i}=(direc3{i}+direc1{j})./m。 end end end if norm(pos{i}pre)=1 %定義危險(xiǎn)區(qū)域 direc5{i}=pos{i}pre。 if norm(pos{i}pre)= pos{i}=[111,11,11]。 pos{i}=pos{i}+direc1{i}/norm(direc1{i})*v。 pos{i}=pos{i}+direc1{i}/norm(direc1{i})*v。 end pre=pre+direcpre/norm(direcpre)**v/10。endplot3(x,y,z,39。)axis([0 5 0 5 0 5],39。)。food=[5,5,5]。v=。direc4=cell(1,30)。for i=1:30 direc1{i}=[rand(1,1)*10,rand(1,1)*10,rand(1,1)*10]pos{i}。 direc7{i}=zeros(1,3)。 n=n+1。 end m=0。 for j=1:30 if j==i continue else for r=1:30 direc7{i}=(direc7{i}+pos{r}pos{i})./r。(norm(pos{i}pos{j})=) m=m+1。 direc3{i}=(direc3{i}+direc1{j})./m。 end end end if (pos{i}(1)=10)||(pos{i}(2)=10)||(pos{i}(1)=0)||(pos{i}(2)=0)||(pos{i}(3)=10)||(pos{i}(3)=0) direc1{i}=(1)*direc1{i}。 endendfor i=1:30 x(i)=pos{i}(1)。.39。square39。pause()end16