adaptintx.asv
来自「该程序是一整数版的PSO程序。该程序对于整数版PSO的各种应用可作为模板程序。」· ASV 代码 · 共 23 行
ASV
23 行
% 微粒位置更新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 + =
减小字号Ctrl + -
显示快捷键?