• 齐文超
    了解作者
  • matlab
    开发工具
  • 115KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 2
    下载次数
  • 2020-07-02 16:07
    上传日期
粒子群优化算法(Particle Swarm optimization,PSO)又翻译为粒子群算法、微粒群算法、或微粒群优化算法。是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。通常认为它是群集智能 (Swarm intelligence, SI) 的一种。它可以被纳入多主体优化系统(Multiagent Optimization System, MAOS)。
1 基于遗传算法的MP算法.zip
  • 1 基于遗传算法的MP算法
  • s13_2.m
    1.3KB
  • 01.bmp
    192.1KB
  • gas.m
    3.8KB
内容介绍
function [proj,scale,translation,freq,phase]=gas(signal_r,N,a_base,j_min,j_max,u_base,p_min,v_base,k_min,w_base,i_min,i_max); n=21; Ngen=50; pool=zeros(4,n); sig=[1 1 1 1]; proj_trans=zeros(1,n); res=ones(1,n); proj=0; bi=ones(4,1); bs=ones(4,1); % bi: lower bounds % bs: upper bounds bi(1)=j_min; bi(2)=p_min; bi(3)=k_min; bi(4)=i_min; bs(1)=j_max; bs(2)=N; bs(3)=N; bs(4)=i_max; % og(i,:) : vector of n i-genes % ng: new generation vector og=ones(4,n); ng=ones(4,n); % create the initial population og(1,:)=round((bs(1)-bi(1))*rand(1,n)+bi(1)); og(2,:)=round((bs(2)-bi(2))*rand(1,n)+bi(2)); og(3,:)=round((bs(3)-bi(3))*rand(1,n)+bi(3)); og(4,:)=round((bs(4)-bi(4))*rand(1,n)+bi(4)); % the main part of Genetic algorithm %og(:,1:10) %og(:,11:21) for c=1:Ngen for d=1:n s=a_base^og(1,d); u=og(2,d); v=og(3,d)*(1/s)*v_base; w=og(4,d)*w_base; t=0:N-1; t=(t-u)/s; g=(1/sqrt(s))*exp(-pi*t.*t).*cos(v*t+w); g=g/sqrt(sum(g.*g)); proj_trans(d)=sum(signal_r.*g); res(d)=abs(proj_trans(d)); end % place the best atom (biggest projection in the first position [best, e]=max(res); ng(:,1)=og(:,e); og(:,e)=og(:,n); og(:,n)=ng(:,1); temp_proj=proj_trans(e); temp_res=res(e); proj_trans(e)=proj_trans(n); proj_trans(n)=temp_proj; res(e)=res(n); res(n)=temp_res; % competition between the adjacent atoms for d=2:2:n-1 [best,e]=max(res(d-1:d)); pool(:,d/2)=og(:,d-rem(e,2)); end; % creation of the pool for crossover for d=1:(n-1)/2 f=ceil((n-1)/2*rand); Inter=round(rand(4,1)); ng(:,d+1)=pool(:,d).*Inter+pool(:,f).*(1-Inter); end % Mutations of the winner sigm=sig(:,ones(n-((n-1)/2+1),1)); ngm=ng(:,1); ngm=ngm(:,ones(n-((n-1)/2+1),1)); ng(:,(n-1)/2+2:n)=round(ngm+(rand(4,n-((n-1)/2+1))-0.5).*sigm); % bounding into the limits for l=1:4 while max(ng(l,:))>bs(l) [rw,lw]=max(ng(l,:)); ng(l,lw)=bs(l); end while min(ng(l,:))<bi(l) [rw,lw]=min(ng(l,:)); ng(l,lw)=bi(l); end end og=ng; % stable or not? nog=og(:,1); nog=nog(:,ones(1,n)); nog=abs(og-nog); nog=max(max(nog)); % if yes, create a new generation if nog<4 og(1,2:n)=round((bs(1)-bi(1))*rand(1,n-1)+bi(1)); og(2,2:n)=round((bs(2)-bi(2))*rand(1,n-1)+bi(2)); og(3,2:n)=round((bs(3)-bi(3))*rand(1,n-1)+bi(3)); og(4,2:n)=round((bs(4)-bi(4))*rand(1,n-1)+bi(4)); end end % output the results s=a_base^ng(1,1); u=ng(2,1); v=ng(3,1)*(1/s)*v_base; w=ng(4,1)*w_base; t=0:N-1; t=(t-u)/s; g=(1/sqrt(s))*exp(-pi*t.*t).*cos(v*t+w); g=g/sqrt(sum(g.*g)); proj=sum(signal_r.*g); scale=a_base^ng(1,1); translation=ng(2,1); freq=v; phase=w;
评论
  • BCWG 2021-02-16 23:06:06
    这个有点意思
相关推荐
  • 粒子群算法工具箱.rar
    用于开发粒子群算法的工具箱,亲测可用。欢迎各位前来下载
  • 粒子群算法matlab工具箱
    粒子群算法粒子群算法matlab工具箱matlab工具箱
  • l粒子群算法工具箱psot
    MATLAB粒子群算法工具箱,方便大家配置和使用,可以解决优化问题。pso是一种群智能方法的演化计算技术,系统初始化为一组随机解,通过迭代搜寻最优值。
  • 粒子群算法matlab工具箱
    粒子群算法工具箱,效率不错,基于matlab编写,找了好久才下的。
  • 粒子群算法求解函数优化问题.zip
    1、理解粒子群算法的基本思想和基本流程。 2、利用 Matlab 实现粒子群算法求解函数优化问题。 3、分析算法中各种参数变化对计算结果的影响。 1、打印程序清单。 2、绘制每代个体适应度值变化图,记录算法的最优...
  • 粒子群算法
    内附详细说明,以及一些实列,直接解压到某一文件夹就可调用,具体的都在里面有说明
  • 粒子群算法
    粒子群算法的源程序,进行局部搜索和全局搜索,求得当前最优解
  • 粒子群算法(PSOT)
    不多说,matlab源码(全),拿去学习吧!
  • PSOT粒子群算法工具箱
    PSOt为PSO的工具箱,该工具箱将PSO算法的核心部分封装起来,提供给用户的为算法的可调参数,用户只需要定义好自己需要优化的函数(计算最小值或者最大值),并设置好函数自变量的取值范围、每步迭代允许的最大变化量...
  • 粒子群优化算法.rar
    主要与传统的算法相比,通过粒子群优化算法达到一个最优的效果。经过MATLAB仿真可以实现基本功能。