clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
%constants while initializing
alpha = 1;
dT = 1;
xMin = -5;
xMax = 5;
%constants while updating particle velocity
c1 = 2;
c2 = 2;
w = 1.4;
beta = 0.95;
wMin = 0.35;
%constants while restricitng velocity
vMax = (xMax-xMin)/dT;
%creating vector for best global value and position
bestGlobalPosition = zeros(1,2);
bestGlobalValue = inf;
numberOfParticles = 50;
numberOfIterations = 10000;
%creating vector for best local value and position
bestLocalPosition = zeros(numberOfParticles,2);
bestLocalValue (1:numberOfParticles,1) = inf;
%Step1 : Initializing velocity and position
[positionParticle,velocityParticle] = initializing(xMin,xMax,numberOfParticles,alpha,dT);
iter=1;
while iter<numberOfIterations
functionValue = zeros(numberOfParticles,1);
for i=1:numberOfParticles
functionValue(i) = functionEvaluate(positionParticle(i,1),positionParticle(i,2));
if functionValue(i)<bestLocalValue(i)
bestLocalValue(i) = functionValue(i);
bestLocalPosition(i,:) = positionParticle(i,:);
end
if functionValue(i)<bestGlobalValue
bestGlobalValue = functionValue(i);
bestGlobalPosition = positionParticle(i,:);
end
end
%Step 4: Updating particle velocity
velocityParticle = updateVelocities(w,velocityParticle,c1,bestGlobalPosition,dT,positionParticle,c2,bestLocalPosition);
%Step 5: Restricting Velocity
velocityParticle = restrictVelocity(positionParticle,velocityParticle,vMax);
%Step 6: Updating Position
positionParticle = updatePositions(positionParticle,velocityParticle,dT);
%Step 7: Reducing influence of w
if w>wMin
w = w*beta;
end
iter = iter+1;
end
plotContour()
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1.版本:matlab2021a,包含仿真操作录像,操作录像使用windows media player播放。 2.领域:惯性加权粒子群优化 3.内容:基于惯性加权粒子群优化算法PSO函数最小值matlab仿真 4.运行注意事项:注意MATLAB左侧当前文件夹路径,必须是程序所在文件夹位置,具体可以参考视频录。 5.适用人群:本硕博等科研学习参考使用。
资源推荐
资源详情
资源评论
收起资源包目录
基于惯性加权粒子群优化算法PSO函数最小值matlab仿真.rar (9个子文件)
基于惯性加权粒子群优化算法PSO函数最小值matlab仿真
matlab
RunPSO.m 2KB
func
plotContour.m 511B
initializing.m 542B
restrictVelocity.m 350B
updatePositions.m 301B
updateVelocities.m 467B
functionEvaluate.m 116B
11.jpg 64KB
操作录像0038.avi 2.94MB
共 9 条
- 1
资源评论
fpga和matlab
- 粉丝: 16w+
- 资源: 2568
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- las格式点云数据使用详解(附VS编译好的LAStools工具)
- KRPano插件一键解密大师1.4.0 (解压密码1234)
- 《C++沉思录》是一本由 Scoot Meyers 所著的经典 C++ 编程书籍 该书深入探讨了 C++ 的一些高级概念和技术
- 海信刷机数据 LED42K310X3D(0000)BOM1-C006软件数据与LED42K310NX3D(0000)BOM1通用
- 送货单打印软件单机版直接单机运行不需要网络
- pycdc工具,Python3.9及以上可用的反编译工具(exe转py)
- 计算机网络基础练习题.pdf
- SDIO接口远距离无线图传WIFI6模块TT-S6D2TR-105HP
- 海信智能电视刷机数据 LED42K280J3D(1000) 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级程序
- 步进电机控制实验-原理图-软件代码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功