资源简介
小生境PSO算法matlab程序
程序在原有PSo常用测试函数的基础上进行改进,实现了多模寻优
代码片段和文件信息
clc;clear;
close all;
%-----确定实际问题参数集------
wmin=0;wmax=0.9; %惯性权重
itmax=50; %最大循环次数
c1=2;c2=2; %自身因子和全局因子
for iter=1:itmax
W(iter)=wmax-((wmax-wmin)/itmax)*iter;%自适应权重
end
a=0;b=1; %变量取值范围
N=30; %粒子个数
D=1; %维数
step=0.01; %步长
f=‘exp(-2*log(2)*(((x-0.1)./0.8).^2)).*((sin(5*pi*x)).^6)‘;
x=[a:step:b];
xf=x;
y=eval(f);
x=[];
vmfit=[];
x=a+(b-a)*rand(N1); %位置初始化
V=wmin+(wmin-wmax)*rand(N1); %向量初始化
for i=1:N
F(i1)=exp(-2*log(2)*(((x(i1)-0.1)/0.8).^2))*((sin(5*pi*x(i1))).^6);%第一代个体适应度计算
end
media=mean(F(:1));
vmfit=[vmfit media];
[CI]=max(abs(F(:1)));
B(11)=C;
gbest(11)=x(I1); %群体最优位置
for p=1:N
G(p1)=gbest(11); %更新群体最优位置记录
end
Fbest(11)=exp(-2*log(2)*(((G(11)-0.1)/0.8).^2))*((sin(5*pi*G(11))).^6);%群体最优位置适应度
for i=1:N
pbest(i1)=x(i1); %个体最优位置,第一代群体设为当前位置
end
Fb(11)=exp(-2*log(2)*(((pbest(11)-0.1)/0.8).^2))*((sin(5*pi*pbest(11))).^6);%个体最优位置适应度
%------程序主循环----------
for j=2:itmax
V(:j)=W(j-1)*V(:j-1)+c1*rand*(pbest(:j-1)-x(:j-1));%+c2*rand*(G(:j-1)-x(:j-1));%向量更新
x(:j)=x(:j-1)+V(:j); %位置更新
for xx=1:N
if x(xxj) x(x
相关资源
- MATLAB 经典程序源代码大全
- 克里金插值程序国外一个基金支持下
- 天线阵的波束形成在MATLAB仿真程序及
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- Matlab实现基于相关的模板匹配程序
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- optical_flow 光流法 matlab 实现程序
- 替代数据法的matlab程序
- 通过不同方法进行粗糙集属性约简m
- 神经网络分类matlab程序
- matlab程序用Hopfield网络解决TSP
- 实例matlab 编程100个常用程序
- 多用户检测MATLAB程序
- 实现2ask.4ask.2fsk.4fsk.qam16.qam8调制的m
- 基于MATLAB的线性控制系统分析与设计
- matlab版的车牌识别程序
- 数字信号处理 matlab实验源程序吴镇扬
- matlab编写的susan算法程序
- vc下实现的分段线性插值、二次多项式
- CRC循环冗余校验的matlab仿真程序
- 曲线旋转得到曲面的MATLAB程序
- MATLAB实现混沌图像加密仿真程序
- 主动轮廓模型算法matlab程序
- 基于BP神经网络的盲均衡算法 C程序(
- Lozi混沌系统相关分析的MATLAB程序
- 一个用MATLAB编写的用于估计信号谐波
- 图像匹配matlab源程序sift算法
- 用蚁群算法求解TSP问题的matlab程序
评论
共有 条评论