📄 update_velocity.m
字号:
function update_velocityglobal swarm_size; % 种群规模global swarm; % 种群,三维数组global w; % 速度惯性系数,为0—1的随机数global c1; % 个体最优导向系数global c2; % 全局最优导向系数global x_min; % x的下限global x_max; % x的上限global y_min; % y的下限global y_max; % y的上限global gen; % 迭代次数global exetime; % 当前迭代次数global max_velocity; % 最大速度global best_in_history; % 最优解变化轨迹global index_gbest; % 全局最优解的粒子的序号global dimension; % 空间的维数global points_size; % points_size--行数,即点数global x; % 初始点的x坐标数组global y; % 初始点的y坐标数组% 更新粒子的速度for i = 1 : swarm_size for j = 1:dimension swarm(i, 2, j) = w*rand*swarm(i, 2, j) + c1*rand*(swarm(i, 3, j) - swarm(i, 1, j)) + c2*rand*(swarm(index_gbest, 3, j) - swarm(i, 1, j)); %x velocity component % % 限制粒子的运动速度% if abs(swarm(i, 2, j)) > max_velocity% if swarm(i, 2, j) > 0% swarm(i, 2, j) = max_velocity;% else% swarm(i, 2, j) = -max_velocity;% end% end endend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -