0
点赞
收藏
分享

微信扫一扫

时序分解 | Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解


时序分解 | Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解


目录

  • 时序分解 | Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解
  • 效果一览
  • 基本介绍
  • 程序设计
  • 参考资料


效果一览

时序分解 | Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解_模态

时序分解 | Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解_时间序列信号分解_02

时序分解 | Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解_时间序列信号分解_03


时序分解 | Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解_变分模态分解_04


时序分解 | Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解_SSA-VMD_05


时序分解 | Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解_模态_06

基本介绍

SSA-VMD麻雀搜索算法SSA优化VMD变分模态分解 可直接运行 分解效果好 (Matlab完整源码和数据),适应度函数为样本熵
1.利用麻雀搜索优化算法优化vmd中的参数k、a,分解效果好,包含边际谱、频率图、收敛曲线等图。
2.包含VMD超参数优化迭代过程图,凸显每次迭代过程的变化。
3.麻雀搜索算法(SparrowsearchAlgorithm,SSA)是一种新型的群智能优化算法在2020年提出,主要是受麻雀的觅食行为和反捕食行为的启发,具有收敛速度快、寻优能力强等优点。
4.数据为excel数据,方便替换,运行主程序main即可,可直接运行matlab程序。

程序设计

  • 完整源码和数据获取方式:Matlab实现SSA-VMD麻雀算法优化变分模态分解时间序列信号分解。

% Input and Parameters:
% ---------------------
% signal  - 待分解的时域信号
% alpha   - 惩罚因子
% tau     - time-step of the dual ascent ( pick 0 for noise-slack )
% K       - the number of modes to be recovered
% DC      - true if the first mode is put and kept at DC (0-freq)
% init    - 0 = all omegas start at 0
%                    1 = all omegas start uniformly distributed
%                    2 = all omegas initialized randomly
% tol     - tolerance of convergence criterion; typically around 1e-6
%
% Output:
% -------
% u       - 分解变量的集合
% u_hat   - 变量的频谱
% omega   - 变量中心频率
%% 麻雀算法参数设置
pop = 5;%种群数量
Max_iteration = 20;%最大迭代次数
lb =[800,4]; %下边界
ub = [2000,10];%上边界
dim = 2; %维度为2,即alpha,K
fobj = @(x) fun(x,f,tau, DC, init, tol);
[~,Target_pos,SSA_cg_curve,process] = SSA(pop,Max_iteration,lb,ub,dim,fobj);%优化函数 求K Alpha 熵值
%% 画适应度曲线与2个参数的变化曲线
huatu(process,'VMD')

Target_pos = round(Target_pos);
SSA_cg_curve=abs(SSA_cg_curve);

举报

相关推荐

0 条评论