1、建立PSO.m文件
function[xm,fv]=PSO(fitness,N,c1,c2,w,M,D)
%fitness-是要优化的目标函数,N-种群数,c1,c2-学习因子,w-惯性权重,M-迭代次数,
D-粒子维数。(PSO(@fitness,100,2,2,0.6,1000,3))
format long;15位长度
%初始化种群
for i=1:N
for j=1:D
end
x(i,j)=randn;% 随机初始化位子
v(i,j)=randn;% 随机初始化速度
end
%先计算各个粒子的适应度,并初始化pi-粒子个体极值和pg-全局极值
for i=1:N
p(i)=fitness(x(i,:));
y(i,:)=x(i,:);
end
pg=x(N,:);%pg为全局极值
for i=1:(N-1)
if fitness(x(i,:))
f=x(1).^2+x(2).^2;
end
步骤三 命令行语句
[xm,fv]=PSO(@fitness,100,2,2,0.6,1000,3)
运行结果
xm =
-0.000000000000000
-0.000000000000000
0.365357498479421
fv =
2.112331683121279e-115