PSO 粒子群算法 Matlab源码.doc

PSO 粒子群算法 Matlab源码.doc

ID:53324065

大小:46.00 KB

页数:10页

时间:2020-04-03

PSO 粒子群算法 Matlab源码.doc_第1页
PSO 粒子群算法 Matlab源码.doc_第2页
PSO 粒子群算法 Matlab源码.doc_第3页
PSO 粒子群算法 Matlab源码.doc_第4页
PSO 粒子群算法 Matlab源码.doc_第5页
资源描述:

《PSO 粒子群算法 Matlab源码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、PSO粒子群算法Matlab源码       %PSO标准算法其中wc1c2a可以改变%包含初始化函数 迭代函数还有总体的PSO算法函数function[Result,OnLine,OffLine,MinMaxMeanAdapt]=PSO_Stand(SwarmSize,ParticleSize,ParticleScope,IsStep,IsDraw,LoopCount,IsPlot)%function[Result,OnLine,OffLine,MinMaxMeanAdapt]=PSO_Stand(SwarmSize,ParticleSiz

2、e,ParticleScope,InitFunc,StepFindFunc,AdaptFunc,IsStep,IsDraw,LoopCount,IsPlot)%功能描述:一个循环n次的PSO算法完整过程,返回这次运行的最小与最大的平均适应度,以及在线性能与离线性能%[Result,OnLine,OffLine,MinMaxMeanAdapt]=PsoProcess(SwarmSize,ParticleSize,ParticleScope,InitFunc,StepFindFunc,AdaptFunc,IsStep,IsDraw,LoopCou

3、nt,IsPlot)%输入参数:SwarmSize:种群大小的个数%输入参数:ParticleSize:一个粒子的维数%输入参数:ParticleScope:一个粒子在运算中各维的范围;%        ParticleScope格式:%          3维粒子的ParticleScope格式:%                          [x1Min,x1Max%                          x2Min,x2Max%                          x3Min,x3Max]%%输入参数:I

4、nitFunc:初始化粒子群函数%输入参数:StepFindFunc:单步更新速度,位置函数%输入参数:AdaptFunc:适应度函数%输入参数:IsStep:是否每次迭代暂停;IsStep=0,不暂停,否则暂停。缺省不暂停%输入参数:IsDraw:是否图形化迭代过程;IsDraw=0,不图形化迭代过程,否则,图形化表示。缺省不图形化表示%输入参数:LoopCount:迭代的次数;缺省迭代100次%输入参数:IsPlot:控制是否绘制在线性能与离线性能的图形表示;IsPlot=0,不显示;%                          

5、               IsPlot=1;显示图形结果。缺省IsPlot=1%返回值:Result为经过迭代后得到的最优解%返回值:OnLine为在线性能的数据%返回值:OffLine为离线性能的数据%返回值:MinMaxMeanAdapt为本次完整迭代得到的最小与最大的平均适应度%%用法[Result,OnLine,OffLine,MinMaxMeanAdapt]=PsoProcess(SwarmSize,ParticleSize,ParticleScope,InitFunc,StepFindFunc,AdaptFunc,IsStep

6、,IsDraw,LoopCount,IsPlot);%%异常:首先保证该文件在Matlab的搜索路径中,然后查看相关的提示信息。%%编制人:XXX%编制时间:2007.3.26%参考文献:XXXXX%%修改记录:%添加MinMaxMeanAdapt,以得到性能评估数据%修改人:Jeary%修改时间:2012.12.12%参考文献:XXX.%容错控制ifnargin<3%ifnargin<4   error('输入的参数个数错误。')end[row,colum]=size(ParticleSize);ifrow>1

7、

8、colum>1   err

9、or('输入的粒子的维数错误,是一个1行1列的数据。');end[row,colum]=size(ParticleScope);ifrow~=ParticleSize

10、

11、colum~=2   error('输入的粒子的维数范围错误。');end%设置缺省值ifnargin<4%ifnargin<7   IsPlot=1;   LoopCount=100;   IsStep=0;   IsDraw=0;%elseifnargin<8elseifnargin<5   IsPlot=1;   IsDraw=0;   LoopCount=100;%e

12、lseifnargin<9elseifnargin<6   LoopCount=100;   IsPlot=1;%elseifnargin<10elseifnarg

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。