📄 adaptintx.m
字号:
% 微粒位置更新2005.7.16
function [x]=adaptintx(w,c1,c2,popsize,dimsize,x,vid,vmax,vmin,xmax,xmin,pbestx,gbestx)
for popindex=1:popsize
for dimindex=1:dimsize
subtract1=pbestx(popindex,dimindex)-x(popindex,dimindex);
subtract2=gbestx(dimindex)-x(popindex,dimindex);
temv=w*vid(popindex,dimindex)+c1*rand*subtract1+c2*rand*subtract2;
if temv>vmax
vid(popindex,dimindex)=vmax;
elseif temv<vmin
vid(popindex,dimindex)=vmin;
else
vid(popindex,dimindex)=temv;
end
x1(popindex,dimindex)=x(popindex,dimindex)+vid(popindex,dimindex);
x(popindex,dimindex)=round(x1(popindex,dimindex));
if x(popindex,dimindex)>xmax
x(popindex,dimindex)=xmax;
elseif x(popindex,dimindex)<xmin
x(popindex,dimindex)=xmin;
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -