• 大小: 0.36M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-09-05
  • 语言: 其他
  • 标签: 其他  

资源简介

采用遗传粒子群(GAPSO)和混沌粒子群(CPSO)进行FIR滤波器设计.rar

资源截图

代码片段和文件信息

%% 清空环境
clc
clear

%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.49445;
c2 = 1.49445;
wmax=0.9;%惯性因子最大值
wmin=0.4;%惯性因子最小值
D=21;%粒子维数
maxgen=1000;   % 进化次数  
sizepop=50;   %种群规模
u=3;%混沌系数
Vmax=0.3;
Vmin=-0.3;
popmax=1;
popmin=-1;

%% 产生初始粒子和速度
for i=1:sizepop
    %随机产生一个种群
    pop(i:)=rands(1D);    %初始种群
    V(i:)=rands(1D);  %初始化速度
    %计算适应度
    fitness(i)=fun5(pop(i:));   %粒子的适应值
end

%% 个体极值和群体极值
[bestfitness bestindex]=min(fitness);
zbest=pop(bestindex:);   %全局最佳
gbest=pop;    %个体最佳
fitnessgbest=fitness;   %个体最佳适应度值
fitnesszbest=bestfitness;   %全局最佳适应度值

%% 迭代寻优
for i=1:maxgen
        w=wmax-i*(wmax-wmin)./maxgen;
    for j=1:sizepop
        
        %速度更新
        V(j:) = w*V(j:) + c1*rand*(gbest(j:) - pop(j:)) + c2*rand*(zbest - pop(j:));
        V(jfind(V(j:)>Vmax))=Vmax;
        V(jfind(V(j:)        
        %种群更新
        pop(j:)=pop(j:)+V(j:);
        pop(jfind(pop(j:)>popmax))=popmax;
        pop(jfind(pop(j:)        
        %适应度值
        fitness(j)=fun5(pop(j:)); 
   
    end
    
    for j=1:sizepop
        
        %个体最优更新
        if fitness(j) < fitnessgbest(j)
            gbest(j:) = pop(j:);
            fitnessgbest(j) = fitness(j);
        end
        
        %群体最优更新
        if fitness(j) < fitnesszbest
            zbest = pop(j:);
            fitnesszbest = fitness(j);
        end
    end 
  
    %%对粒子群最优位置进行混沌优化
      y(1:)=(zbest-popmin)/(popmax-popmin);%将最优位置映射到Logistic方程的定义域[01]
      fitness(1)=fun5(y(1:)); 
        for t=1:sizepop-1 %通过Logistic方程进行M次迭代,得到混沌序列
            for e=1:D
        y(t+1e)=u*y(te)*(1-y(te)); 
            end
        y(t+1:)=popmin+(popmax-popmin)*y(t+1:);%将混沌序列逆射到原解空间
        fitness(t+1)=fun5(y(t+1:)); %计算混沌变量可行解序列的适应度值
        end
[ybestfitness ybestindex]=min(fitness);%寻找最优混沌可行解矢量
  ybest=y(ybestindex:);
        ran=1+fix(rand()*sizepop);%产生一随机数1~sizepop之间
        pop(ran:)=ybest;
    yy(i)=fitnesszbest  
        
end
%% 结果分析
plot(yy‘m‘)
title(‘最优个体适应度曲线‘‘fontsize‘15);
xlabel(‘迭代次数‘‘fontsize‘15);ylabel(‘适应度值‘‘fontsize‘15);
hold on
display(‘混沌粒子群算法输出结果‘);
zbest
minbest=min(yy)
meanbest=mean(yy)
stdbest=std(yy)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3931  2012-05-17 19:25  FIR滤波器设计\autid1.fig

     文件      78330  2012-05-17 19:25  FIR滤波器设计\autid1.jpg

     文件       2522  2012-05-08 21:17  FIR滤波器设计\CPSO.m

     文件       8061  2012-05-08 21:30  FIR滤波器设计\FIR.fig

     文件      51106  2012-05-08 21:30  FIR滤波器设计\FIR.jpg

     文件       4328  2012-05-08 21:43  FIR滤波器设计\FIR2.fig

     文件      65332  2012-05-08 21:43  FIR滤波器设计\FIR2.jpg

     文件       4930  2012-05-17 19:19  FIR滤波器设计\FIR3.fig

     文件      81586  2012-05-17 19:19  FIR滤波器设计\FIR3.jpg

     文件        422  2012-05-09 16:31  FIR滤波器设计\firplot.m

     文件       1017  2012-05-09 16:38  FIR滤波器设计\firplot2.m

     文件        439  2012-05-09 16:36  FIR滤波器设计\firplot3.m

     文件        364  2012-04-26 21:06  FIR滤波器设计\fun5.m

     文件       3943  2012-05-08 21:44  FIR滤波器设计\GAPSO.m

     文件        460  2012-05-09 15:05  FIR滤波器设计\plot1.m

     文件      30214  2012-05-17 19:28  FIR滤波器设计\single1.fig

     文件     120172  2012-05-17 19:28  FIR滤波器设计\single1.jpg

     文件      86382  2012-05-17 18:55  FIR滤波器设计\single2.jpg

     目录          0  2012-10-06 19:42  FIR滤波器设计

----------- ---------  ---------- -----  ----

               543539                    19


评论

共有 条评论