我这里有一个粒子群的完整范例:<群鸟觅食的优化问题>function main()clc;clear all;close all;tic; %程序运行计时E0=; %允许误差MaxNum=100; %粒子最大迭代次数narvs=1; %目标函数的自变量个数particlesize=30; %粒子群规模c1=2; %每个粒子的个体学习因子,也称为加速常数c2=2; %每个粒子的社会学习因子,也称为加速常数w=; %惯性因子vmax=; %粒子的最大飞翔速度x=-5+10*rand(particlesize,narvs); %粒子所在的位置v=2*rand(particlesize,narvs); %粒子的飞翔速度%用inline定义适应度函数以便将子函数文件与主程序文件放在一起,%目标函数是:y=1+(*(1-x+2*x.^2).*exp(-x.^2/2))%inline命令定义适应度函数如下:fitness=inline('1/(1+(*(1-x+2*x.^2).*exp(-x.^2/2)))','x');%inline定义的适应度函数会使程序运行速度大大降低for i=1:particlesize for j=1:narvs f(i)=fitness(x(i,j)); endendpersonalbest_x=x;personalbest_faval=f;[globalbest_faval i]=min(personalbest_faval);globalbest_x=personalbest_x(i,:);k=1;while k<=MaxNum for i=1:particlesize for j=1:narvs f(i)=fitness(x(i,j)); end if f(i)vmax; v(i,j)=vmax; elseif v(i,j)<-vmax; v(i,j)=-vmax; end end x(i,:)=x(i,:)+v(i,:); end if abs(globalbest_faval)