没有合适的资源?快使用搜索试试~ 我知道了~
粒子群算法的matlab代码
资源推荐
资源详情
资源评论
function []=main_test2()
%UNTITLED4 此处显示有关此函数的摘要
% 此处显示详细说明
[x y]=meshgrid(-100:100);
sigma=50;
img = (1/(2*pi*sigma^2))*exp(-(x.^2+y.^2)/(2*sigma^2)); %目标函数,高斯函数
mesh(x,y,img)
hold on;
n=25; %粒子群粒子个数
global w;
w=1.4;%定义迭代式的权重,每次迭代都线性的减小
gene=1e5;%定义最大的迭代次数
%par = struct('x',[-100,100],'vx',[-1,1],'y',[-100,100],'vy',[-1,1],'fit',{},'bestfit',{},'bestx',[-100,100],'besty',[-100,100]);%初始化粒子群,定义结构体,结构体中八个元素,分别是粒子坐标,粒子速度,粒子适应度,粒子最佳适应度,粒子最佳坐标
for i=1:n
par(i).x=-100+200*rand(); %[-100 100]对x位置随机初始化
par(i).y=-100+200*rand(); %[-100 100]对y位置随机初始化
par(i).vx=-1+2*rand(); %[-1 1]对vx速度随机初始化
par(i).vy=-1+2*rand(); %[-1 1]对vy速度随机初始化
par(i).fit= (1/(2*pi*sigma^2))*exp(-(par(i).x^2+par(i).y^2)/(2*sigma^2)); %粒子适应度的初始化
par(i).bestfit=par(i).fit; %粒子最佳适应度的初始化
par(i).bestx=par(i).x; %粒子x最佳位置初始化
par(i).besty=par(i).y; %粒子y最佳位置初始化
end
par_best=par(1); %初始化粒子群中最佳粒子
for g=1:gene %使迭代权重随迭代次数增加线性减小
w=w-1e-5*gene;
%UNTITLED4 此处显示有关此函数的摘要
% 此处显示详细说明
[x y]=meshgrid(-100:100);
sigma=50;
img = (1/(2*pi*sigma^2))*exp(-(x.^2+y.^2)/(2*sigma^2)); %目标函数,高斯函数
mesh(x,y,img)
hold on;
n=25; %粒子群粒子个数
global w;
w=1.4;%定义迭代式的权重,每次迭代都线性的减小
gene=1e5;%定义最大的迭代次数
%par = struct('x',[-100,100],'vx',[-1,1],'y',[-100,100],'vy',[-1,1],'fit',{},'bestfit',{},'bestx',[-100,100],'besty',[-100,100]);%初始化粒子群,定义结构体,结构体中八个元素,分别是粒子坐标,粒子速度,粒子适应度,粒子最佳适应度,粒子最佳坐标
for i=1:n
par(i).x=-100+200*rand(); %[-100 100]对x位置随机初始化
par(i).y=-100+200*rand(); %[-100 100]对y位置随机初始化
par(i).vx=-1+2*rand(); %[-1 1]对vx速度随机初始化
par(i).vy=-1+2*rand(); %[-1 1]对vy速度随机初始化
par(i).fit= (1/(2*pi*sigma^2))*exp(-(par(i).x^2+par(i).y^2)/(2*sigma^2)); %粒子适应度的初始化
par(i).bestfit=par(i).fit; %粒子最佳适应度的初始化
par(i).bestx=par(i).x; %粒子x最佳位置初始化
par(i).besty=par(i).y; %粒子y最佳位置初始化
end
par_best=par(1); %初始化粒子群中最佳粒子
for g=1:gene %使迭代权重随迭代次数增加线性减小
w=w-1e-5*gene;
资源评论
dc629588619
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功