x = 1:0.01:2;
y = sin(10*pi*x) ./ x;
figure
plot(x, y)
title('绘制目标函数曲线图—Jason niu');
hold on c1 = 1.49445;
c2 = 1.49445; maxgen = 50;
sizepop = 10; Vmax = 0.5;
Vmin = -0.5;
popmax = 2;
popmin = 1; ws = 0.9;
we = 0.4; for i = 1:sizepop pop(i,:) = (rands(1) + 1) / 2 + 1;
V(i,:) = 0.5 * rands(1); fitness(i) = fun(pop(i,:));
end [bestfitness bestindex] = max(fitness);
zbest = pop(bestindex,:);
gbest = pop;
fitnessgbest = fitness;
fitnesszbest = bestfitness; for i = 1:maxgen
w = ws - (ws-we)*(i/maxgen);
for j = 1:sizepop V(j,:) = w*V(j,:) + c1*rand*(gbest(j,:) - pop(j,:)) + c2*rand*(zbest - pop(j,:));
V(j,find(V(j,:)>Vmax)) = Vmax;
V(j,find(V(j,:)<Vmin)) = Vmin; pop(j,:) = pop(j,:) + V(j,:);
pop(j,find(pop(j,:)>popmax)) = popmax;
pop(j,find(pop(j,:)<popmin)) = popmin; fitness(j) = fun(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 [fitnesszbest zbest]
plot(zbest, fitnesszbest,'r*') figure
plot(yy)
title('PSO:PSO算法(快于GA算法)+ω参数实现找到最优个体适应度—Jason niu','fontsize',12);
xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);

最新文章

  1. 尝试封装适用于权限管理的通用API
  2. 读《编写可维护的JavaScript》第六章总结
  3. WinForm中WebBrowser的使用
  4. mongodb java spring data
  5. JavaEE 获取路径全攻略
  6. 加州大学伯克利分校Stat2.2x Probability 概率初步学习笔记: Section 5 The accuracy of simple random samples
  7. PHP类与面向对象
  8. Oracle SQL语句追踪
  9. QTP自动化测试权威指南 连载(一)
  10. 迁移笔记:php缓存技术memcached
  11. 【迪杰斯特拉双关键字最短路】【HDU3790】【最短路径问题】
  12. Bootstrap入门(二十三)JS插件1:模态框
  13. 【工具】-RAP接口管理工具
  14. Java程序员职业生涯规划完整版:从程序员到CTO( 摘)
  15. Ex 5_26 变量约束是否能同时满足(并查集)_第九次作业
  16. 基于bootstrap的后台左侧导航菜单和点击二级菜单刷新二级页面时候菜单展开显示当前菜单
  17. JS - 兼容到ie7的自定义样式的滚动条封装
  18. [label][IDE] Develop Node.js Project With WebStorm
  19. 入门级 - 码云(Gitee),GitHub 教程
  20. Markdown调查

热门文章

  1. 2.6 datetime 模块
  2. [linux]解除linux对多次登录密码错误的账户的锁定
  3. 阿里云ECS服务器Ubuntu安装MySQL并远程访问
  4. css样式关键字(initial,inherit,unset,revert,all)
  5. 针对主机CPU idle性能情况需求脚本编写
  6. Python DB operation
  7. LCA学习笔记
  8. sessionStorage数组、对象的存储和读取
  9. 编译Android ROM环境搭建
  10. jdk生成https证书