粒子群算法的matlab实现(二)

本文介绍了在MATLAB中实现粒子群算法的优化过程,包括如何将搜索过程可视化并保存为gif,以及如何优化代码以解决多维优化问题。具体案例是寻找函数21.5+x*sin(4*pi*x)+y*sin(20*pi*y)在x=[-3,12.1], y=[4.1,5.8]范围内的极值。" 124533522,13777669,解决axios.then中数据更新问题,"['前端开发', 'Vue', 'JavaScript', 'axios']
摘要由CSDN通过智能技术生成

      上一次的博客中我将粒子群的搜索过程可视化了,并将其转存为了gif格式文件,这个过程我先在这里给大家讲一下:

1.首先pause(),是在每次绘图之后暂停一段时间,单位是秒,再进行下一次绘图;

2.而当要转存为gif文件时,这其实就是一种无声的视频文件,因此我们需要每一帧的图像,可以用pause,但是用drawnow更好,它的原理是保持当前窗口不变,继续下一次绘图。

      因此将转存为gif的步骤加入到之前的代码中就是:

clc;clear;close all;
%% 初始化种群
f= @(x)x .* sin(x) .* cos(2 * x) - 2 * x .* sin(3 * x); % 函数表达式
N = 50;                         % 初始种群个数
d = 1;                          % 空间维数
ger = 100;                      % 最大迭代次数     
limit = [0, 20];                % 设置位置参数限制
vlimit = [-1, 1];               % 设置速度限制
w = 0.8;                        % 惯性权重
c1 = 0.5;                       % 自我学习因子
c2 
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值