作业帮 > 综合 > 作业

粒子群算法用matlab做,要把粒子初始化为矩阵要怎么做

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/14 20:21:15
粒子群算法用matlab做,要把粒子初始化为矩阵要怎么做
粒子群算法中,要将每个粒子都定义成矩阵,然后每个粒子随机生成.首先随机生成0~100里面的5个点,然后生成5*5的矩阵,为粒子.就是根据这5个点,按横坐标和纵坐标延伸至一个交叉点就是这个矩阵的一个点.
粒子群算法用matlab做,要把粒子初始化为矩阵要怎么做
可以参考一下这段代码
%------给定初始化条件----------------------------------------------
c1=1.8; %学习因子1
c2=1.8; %学习因子2
WMax=1.6; %惯性权重
WMin=0.8; %惯性权重
MaxDT=100; %最大迭代次数
D=3; %搜索空间维数(未知数个数)
N=30; %初始化群体个体数目
XUp=20/(2^0.5); %初始化位移上限
XDown=-20/(2^0.5); %初始化位移下限
VUp=0.5; %初始化速度上限
VDown=0.0; %初始化速度下限
eps=10^(-6); %设置精度(在已知最小值时候用)
%------初始化种群的个体(可以在这里限定位置和速度的范围)------------
x=((XUp-XDown).*rand(N,2*D)+XDown); %随机初始化位置
v=((VUp-VDown).*rand(N,2*D)+VDown); %随机初始化速度