PSO_successful.rar

  • stars_distributed
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 9
    下载次数
  • 2019-03-16 06:56
    上传日期
matalb pso 使用pso求解单目标优化
PSO_successful.rar
  • PSO_successful
  • fitness.m
    62B
  • pso.m
    2.3KB
内容介绍
%function [xm,fv] = pso(fitness,N,c1,c2,w,M,D) %function [xm,fv] = pso(N,c1,c2,w,M,D) N=40; c1=1; c2=2; w=0.7; M=100; D=3; %fitness-是要优化的目标函数,N-种群数,c1,c2-学习因子,w-惯性权重,M-迭代次数,D-粒子维数。 % fv是最优值,xm为最优值对应的自变量值 format long; %初始化种群,format long显示15位双精度 Xmin=10; Xmax=20; Vmin=-10;Vmax=10; for i=1:N for j=1:D x(i,j)=10+10*rand(); %随机初始化位子 v(i,j)=1+rand(); %随机初始化速度 end end %先计算各个粒子的适应度,并初始化pi-粒子个体极值和pg-全局极值 %调用适应度函数,计算适应度值。先计算各个粒子的适应度,并初始化pi-粒子个体极值和pg-全局极值 for i=1:N p(i)=fitness(x(i,:)); %pi-粒子个体极值 y(i,:)=x(i,:); end pg=x(N,:); %pg为全局极值 %更新个体最优值,将适应度函数计算的结果与目前的个体适应度值相比较,将适应度值较小的位置保存下来 for i=1:(N-1) if fitness(x(i,:))<fitness(pg) pg=x(i,:); end end %更新全局最优值 %上面已经将全局最优位置初始化,只需将它和目前个体的最优位置相比较即可,位置代入适应度函数,取最小的值对应的位置,保存位置即可 for t=1:M for i=1:N v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:)); %粒子速度更新 %速度最大最小值判断 if v(i,1)<Vmin v(i,1)=Vmin; end if v(i,2)<Vmin v(i,2)=Vmin; end if v(i,3)<Vmin v(i,3)=Vmin; end if v(i,1)>Vmax v(i,1)=Vmax; end if v(i,2)>Vmax v(i,2)=Vmax; end if v(i,3)>Vmax v(i,3)=Vmax; end x(i,:)=x(i,:)+v(i,:); %粒子位置更新 %位置最大最小值判断 if x(i,1)<Xmin x(i,1)=Xmin; end if x(i,2)<Xmin x(i,2)=Xmin; end if x(i,3)<Xmin x(i,3)=Xmin; end if x(i,1)>Xmax x(i,1)=Xmax; end if x(i,2)>Xmax x(i,2)=Xmax; end if x(i,3)>Xmax x(i,3)=Xmax; end if fitness(x(i,:))<p(i) p(i)=fitness(x(i,:)); y(i,:)=x(i,:); end if p(i)<fitness(pg) pg=y(i,:); end end Pbest(t)=fitness(pg); end xm = pg' fv=fitness(pg)
评论
    相关推荐
    • matlabcnhelp.rar
      matlab中文帮助很难找的,快速下载
    • MobilePolice.rar
      移动警察,车牌识别,车牌定位系统源代码,已经运用在移动车载稽查系统中。
    • SVM(matlab).rar
      支持向量机(SVM)实现的分类算法源码[matlab]
    • svm.zip
      用MATLAB编写的svm源程序,可以实现支持向量机,用于特征分类或提取
    • Classification-MatLab-Toolbox.rar
      模式识别matlab工具箱,包括SVM,ICA,PCA,NN等等模式识别算法,很有参考价值
    • VC++人脸定位实例.rar
      一个经典的人脸识别算法实例,提供人脸五官定位具体算法及两种实现流程.
    • QPSK_Simulink.rar
      QPSK的Matlab/Simulink的调制解调仿真系统,给出接收信号眼图及系统仿真误码率,包含载波恢复,匹配滤波,定时恢复等重要模块,帮助理解QPSK的系统
    • LPRBPDemo2009KV.rar
      车牌识别,神经网络算法,识别率高达95%,识别时间低于80ms。
    • MODULATION.RAR
      这个源程序代码包提供了通信系统中BPSK,QPSK,OQPSK,MSK,MSK2,GMSK,QAM,QAM16等调制解调方式 用matlab的实现,以及它们在AWGN和Rayleigh信道下的通信系统实现及误码率性能
    • algorithms.rar
      十大算法论文,包括遗传算法,模拟退火,蒙特卡罗法等等,对于初学者很有帮助!!