资源简介
最近初学粒子群算法,自己按照自己的理解把每个步骤都解释了,然后每个步骤都解释的很清楚,很适合初学者观看,里面有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
- 上一篇:matlab处理高光谱数据算法源码
- 下一篇:车牌定位及字符识别的MATLAB程序
相关资源
- 基于粒子群算法的非合作博弈的matl
- 粒子群算法优化pid源码 matlab仿真.ra
- 粒子群算法优化RBF网络matlab源码
- 基本粒子群算法,MATLAB文件的M文件编
- 有约束的基于适应度和连续世代策略
- 粒子群算法求解函数优化问题.zip
- matlab初学教程超详细
- 链路调度matlab程序适合初学者
- matlab粒子群算法PSO实现函数极值优化
-
倒立摆的模糊控制基于simuli
nk仿真, - l粒子群算法工具箱psot
- MATLAB.遗传算法和粒子群算法程序设计
- MATLAB初学者教程 MATLAB编程-菜鸟入门清
- MATLAB初学者教程- MATLAB编程-菜鸟入门
- MATLAB 多目标粒子群算法源代码
- 基于粒子群算法的投影寻踪法matlab代
- 粒子群算法优化3-5-3多项式工业机器人
- 粒子群算法应用在路径规划matlab
- 粒子群算法matlab含注释
- 粒子群算法无功优化程序
- 粒子群算法matlab实现
- 连续粒子群算法的matlab程序
- 汽车变速器传动比粒子群算法优化
- 基于粒子群算法的优化模型matlab程序
- psot工具箱及使用说明.zip
- 粒子群算法matlab代码及使用
- 基于粒子群算法和混沌搜索的协同优
- 灰狼算法GWO和粒子群算法PSO的matlab源
- matlab初学者的60个小程序
- MATLAB粒子群算法PSO解决TSP51个城市问题
评论
共有 条评论