![](https://csdnimg.cn/release/download_crawler_static/87518860/bg7.jpg)
matlab 粒子群优化算法举例分析
pbest1(i)=fitness(x1(i,:),D);
end
%------初始化全局最优位置和最优值---------------
g1=1000*ones(1,D);
gbest1=1000;
for i=1:N
if(pbest1(i)<gbest1)
g1=p1(i,:);
gbest1=pbest1(i);
end
end
gb1=ones(1,T);
%-----浸入主循环,按照公式依次迭代直到满足精度或者迭代次数---
for i=1:T
for j=1:N
if (fitness(x1(j,:),D)<pbest1(j))
p1(j,:)=x1(j,:);
pbest1(j)=fitness(x1(j,:),D);
end
if(pbest1(j)<gbest1)
g1=p1(j,:);
gbest1=pbest1(j);
end
v1(j,:)=w*v1(j,:)+c11*rand*(p1(j,:)-x1(j,:))+c21*rand*(g1-x1(j,:));
x1(j,:)=x1(j,:)+v1(j,:);
end
gb1(i)=gbest1;
end
plot(gb1)
TempStr=sprintf('c1= %g ,c2=%g',c11,c21);
title(TempStr);
xlabel('迭代次数');
ylabel('适应度值');
%第二个图
subplot(1,2,2)
7 / 33