# 1 基于遗传算法的MP算法.zip

• 齐文超
了解作者
• matlab
开发工具
• 115KB
文件大小
• zip
文件格式
• 0
收藏次数
• 10 积分
下载积分
• 2
下载次数
• 2020-07-02 16:07
上传日期

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仿真可以实现基本功能。