• 大小: 10KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-08-09
  • 语言: Matlab
  • 标签: 实例分析  初学  

资源简介

最近初学粒子群算法,自己按照自己的理解把每个步骤都解释了,然后每个步骤都解释的很清楚,很适合初学者观看,里面有matlab的代码,还有文档讲解,反正对于我一个初学者来说是能够看得懂得,如果你不是的初学的话就不要下载啦,免得浪费积分。

资源截图

代码片段和文件信息

%% I. 清空环境
clc
clear
%% II. 绘制目标函数曲线
figure
[xy] = meshgrid(-2:0.1:2-2:0.1:2);
z = x*cos(2*pi*y) + y*sin(2*pi*x);
mesh(xyz)
hold on
%% III. 参数初始化
c1 = 0.49445;
c2 = 0.49445;
maxgen = 100; % 进化次数
sizepop = 100; %种群规模
Vmax = 0.5;
Vmin = -0.5;
popmax%% IV. 产生初始粒子和速度
for i = 1:sizepop
    % 随机产生一个种群
    pop(i:) = 2*rands(12); %初始种群
    V(i:) = rands(12); %初始化速度
    % 计算适应度
    fitness(i) = fun2(pop(i:)); %染色体的适应度
end
%% V. 个体极值和群体极值
[bestfitness bestindex] = max(fitness);
zbest = pop(bestindex:); %全局最佳
gbest = pop; %个体最佳
fitnessgbest = fitness; %个体最佳适应度值
fitnesszbest = bestfitness; %全局最佳适应度值
%% VI. 迭代寻优
for i = 1:maxgen
    for j = 1:sizepop
        % 速度更新
        V(j:) = 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) = fun2(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
    yy(i) = fitnesszbest;
end = 2;
popmin = -2;

%% VII.输出结果
[fitnesszbest zbest]
plot3(zbest(1) zbest(2) fitnesszbest‘bo‘‘linewidth‘1.5)
figure
plot(yy)
title(‘最优个体适应度‘‘fontsize‘12);
xlabel(‘进化代数‘‘fontsize‘12);ylabel(‘适应度‘‘fontsize‘12);
function y = fun2(x)
%函数用于计算粒子适应度值
%x           input           输入粒子
%y           output          粒子适应度值
y = x(1)*cos(2*pi*x(2)) + x(2)*sin(2*pi*x(1));
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-03-14 16:04  粒子群\
     文件        2000  2019-03-13 15:53  粒子群\liangge.m
     文件        2184  2019-01-15 11:04  粒子群\qiujie.m
     文件       34304  2019-03-14 16:04  粒子群\粒子群.doc

评论

共有 条评论