• 时序分解 | MATLAB实现RIME-VMD霜冰优化算法优化VMD变分模态分解信号分量可视化


    时序分解 | MATLAB实现RIME-VMD霜冰优化算法优化VMD变分模态分解信号分量可视化

    效果一览

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    基本介绍

    RIME-VMD【23年新算法】霜冰优化算法优化VMD变分模态分解 可直接运行 Matlab
    1.利用霜冰优化算法优化VMD中的参数k、a,适应度函数为样本熵。分解效果好,包含分解效果图、频率图、边际图、收敛曲线等图,可完全满足您的需求~
    2.霜冰优化算法RIME是23年提出的新算法,还没人用过,适合作为创新点,包含VMD超参数优化迭代过程图,凸显每次迭代过程的变化。~
    3.附赠测试数据 直接运行main即可一键出图~
    4.直接替换Excel文件即可使用 适合新手小白 注释清晰~

    程序设计

    • 完整源码和数据获取方式:私信回复MATLAB实现RIME-VMD霜冰优化算法优化VMD变分模态分解信号分量可视化
    function [Best_rime_rate,Best_rime,Convergence_curve,result]=RIME(N,Max_iter,lb,ub,dim,fobj)% initialize position
    Best_rime=zeros(1,dim);
    Best_rime_rate=inf;%change this to -inf for maximization problems
    Rimepop=initialization(N,dim,ub,lb);%Initialize the set of random solutions
    Lb=lb.*ones(1,dim);% lower boundary 
    Ub=ub.*ones(1,dim);% upper boundary
    it=1;%Number of iterations
    Convergence_curve=zeros(1,Max_iter);
    Rime_rates=zeros(1,N);%Initialize the fitness value
    newRime_rates=zeros(1,N);
    W = 5;%Soft-rime parameters, discussed in subsection 4.3.1 of the paper
    %Calculate the fitness value of the initial position
    for i=1:N
        Rime_rates(1,i)=fobj(Rimepop(i,:));%Calculate the fitness value for each search agent
        %Make greedy selections
        if Rime_rates(1,i)<Best_rime_rate
            Best_rime_rate=Rime_rates(1,i);
            Best_rime=Rimepop(i,:);
        end
    end
    %GBestF = Rime_rates(1);%全局最优适应度值
    % Main loop
    while it <= Max_iter
        it
        RimeFactor = (rand-0.5)*2*cos((pi*it/(Max_iter/10)))*(1-round(it*W/Max_iter)/W);%Parameters of Eq.(3),(4),(5)
        E =(it/Max_iter)^0.5;%Eq.(6)
        newRimepop = Rimepop;%Recording new populations
        normalized_rime_rates=normr(Rime_rates);%Parameters of Eq.(7)
    ​​
        for i=1:N
            %Boundary absorption
            Flag4ub=newRimepop(i,:)>ub;
            Flag4lb=newRimepop(i,:)<lb;
            newRimepop(i,:)=(newRimepop(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;
            newRime_rates(1,i)=fobj(newRimepop(i,:));
            %Positive greedy selection mechanism
            if newRime_rates(1,i)<Rime_rates(1,i)
                Rime_rates(1,i) = newRime_rates(1,i);
                Rimepop(i,:) = newRimepop(i,:);
                if newRime_rates(1,i)< Best_rime_rate
                   Best_rime_rate=Rime_rates(1,i);
                   Best_rime=Rimepop(i,:);
                end
            end​
    ​
    ————————————————
    版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/kjm13182345320/article/details/119920826
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54

    参考资料

    [1] https://blog.csdn.net/kjm13182345320/article/details/129215161
    [2] https://blog.csdn.net/kjm13182345320/article/details/128105718

  • 相关阅读:
    民办二本程序员阿里、百度、平安等五厂面经,5 份 offer(含真题)
    RTPEngine 通过 HTTP 获取指标的方式
    05-Mycat的概念
    【云原生 | 从零开始学Kubernetes】九、k8s的node节点选择器与node节点亲和性
    Python 三维网格体素化
    (十二).NET6 + React :升级!升级!还是***升级!!!+ IdentityServer4实战
    Maven(4)-利用intellij idea创建maven 多模块项目
    如何在一个月内写完论文?
    【C++刷题】力扣-#495-提莫攻击
    python调用c++版本dll06-返回数组结构体
  • 原文地址:https://blog.csdn.net/kjm13182345320/article/details/132794090