分享

时序分解 | Matlab实现NGO-VMD北方苍鹰算法优化变分模态分解时间序列信号分解

 cuvka4gsj5f538 2023-11-18 发布于湖北

请尊重原创劳动成果
转载请注明本文链接
及文章作者:机器学习之心

点击阅读原文或复制以下链接到浏览器获取文章完整源码和数据:

https:///o/bread/mbd-ZZaUlJpy

效果

图片

图片

图片

图片

图片

使用教程

1 数据格式

数据方便替换。

2 基本使用

北方苍鹰算法NGO优化VMD,对其分解层数,惩罚因子数做优化,利用NGO优化算法确定其最佳参数,适应度函数为样本熵。

NGO-VMD北方苍鹰算法NGO优化VMD变分模态分解 可直接运行 分解效果好 适合作为创新点(Matlab完整源码和数据)

1.利用北方苍鹰算法算法优化vmd中的参数k、a,分解效果好,包含边际谱、频率图、收敛曲线等图,满足您的需求,使用者较少,适合作为创新点。

2.包含VMD超参数优化迭代过程图,凸显每次迭代过程的变化。

3.北方苍鹰算法(NGO)是一种新型的群智能优化算法,具有收敛速度快、寻优能力强等优点。

4.数据为excel数据,方便替换,运行主程序main即可,可直接运行matlab程序。

2 网络结构

训练和测试

设置网络参数


function [Best_rime_rate,Best_rime,Convergence_curve,result]=RIME(N,Max_iter,lb,ub,dim,fobj)
fobj = @(x) fun(x,f,tau, DC, init, tol);[~,Target_pos,process] = NGO(pop,Max_iteration,lb,ub,dim,fobj);%优化函数 求K Alpha 熵值%_________________________________________________________________________%% NGO 北方苍鹰优化算法 %%_________________________________________________________________________%function [Score,Best_pos,NGO_curve,result]=NGO(Search_Agents,Max_iterations,Lowerbound,Upperbound,dimensions,fobj)tic
disp('PLEASE WAIT, The program is running.')
Lowerbound=ones(1,dimensions).*(Lowerbound); % 变量的下限Upperbound=ones(1,dimensions).*(Upperbound); % 变量的上限

X=[];X_new=[];fit=[];fit_new=[];NGO_curve=zeros(1,Max_iterations);
%%for i=1:dimensions X(:,i) = Lowerbound(i)+rand(Search_Agents,1).*(Upperbound(i) -Lowerbound(i)); % 初始种群endfor i =1:Search_Agents %L=X(i,:); fit(i)=fobj(X(i,:)); % 初始群体适应度评估 )end
disp('打印迭代次数');

完整代码

注意:

class
% @author : 机器学习之心
% 完整代码:https:///o/bread/mbd-ZZaUlJpy

% @author : 机器学习之心

end

属实不易,如果有用请留个叭~

未经允许本代码请勿作商业用途

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约