- 65
- 0
- 约4.62万字
- 约 25页
- 2017-12-01 发布于江西
- 举报
微粒群算法matlab实现代码
function out=pso(lb,ub,d,f,symb,m)w=0.98;%w_end=0.4;w_varyfor=0.75;c1=2;c2=2;k=0.45667;t=(ub-lb)/m;Vmax=abs(t/4);X=zeros(m,d);X=abs((ub-lb)*rand(m,d)+lb);p1=zeros(1,m);x=zeros(1:d);for j=1:m x(1:d)=X(j,1:d);?% disp(x); p1(j)=eval(f);% history??endif symb==?p2=min(p1);?p2=min(p1); end if symb==?p2=max(p1);?p2=max(p1); endv=zeros(m,d);v(:)=t/m;for s=1:100for i=1:m v(i,:)=k*((w-1/k)*v(i,:)+c1*rand(1).*(p1(i)-X(i,:))+c2*rand(1).*(p2-X(i,:))); X(i,:)=X(i,:)+v(i,:);?for j=1:d x(1:d)=X(i,j); p=eval(f); if symb==?if p=p1(j)?p1(j)=p;?end end if symb==?if p=p1(j)?p1(j)=p;?end end if abs(v(i,j))Vmax?if v
原创力文档

文档评论(0)