改进的北方苍鹰算法优化VMD参数,最小包络熵、样本熵、信息熵、排列熵(适应度函数可自行选择,一键修改)包含MATLAB源代码...

2023-10-29

今天给大家带来一期由改进的北方苍鹰算法(SCNGO)优化VMD的两个参数。

同样以西储大学数据集为例,选用105.mat中的X105_BA_time.mat数据中1000个数据点。没有数据的看这篇文章。西储大学轴承诊断数据处理,matlab免费代码获取

选取四种适应度函数进行优化,以此确定VMD的最佳k和α参数。四种适应度函数分别是:最小包络熵,最小样本熵,最小信息熵,最小排列熵。代码中可以一键切换。至于应该选择哪种作为自己的适应度函数,大家可以看这篇文章。VMD为什么需要进行参数优化,最小包络熵/样本熵/排列熵/信息熵,适应度函数到底该选哪个

1.最小包络熵作为适应度函数

c81811e1970aefa63fd6b7d46e3b8314.png   

e7d721031c331cf48390e5a3e70d2f69.png

2.最小样本熵作为适应度函数

f257d2336fbdc387421ca372730cff9e.png

9c677a78cb5b09fe6fea71d0dea24672.png

3.最小信息熵作为适应度函数

77a70c398ec11339cd6ce334bc585487.png

b373bf4b9e8752816e206cc826b950b4.png

4.最小排列熵作为适应度函数

d9c19fdf8f0095de4544b9c9f77e6f47.png

18195dc0db229a3fa9945e85b5b91dd6.png

代码:

%% 以最小包络熵、最小样本熵、最小信息熵、最小排列熵为目标函数(任选其一),采用SCNGO算法优化VMD,求取VMD最佳的两个参数
clear
clc
close all
xz = 3;  %xz=1 or 2, 选择1,以最小包络熵为适应度函数,选择2,以最小样本熵为适应度函数,选择3,以最小信息熵为适应度函数,选择4,以最小排列熵为适应度函数
if xz == 1  
    fobj=@EnvelopeEntropyCost;          %最小包络熵
elseif xz == 2
    fobj=@SampleEntropyCost;            %最小样本熵
elseif xz == 3
    fobj=@infoEntropyCost;              %最小信息熵
elseif xz == 4
    fobj=@PermutationEntropyCost;       %最小排列熵
end


%% 选取数据
load 105.mat
da = X105_DE_time(6001:7000); %这里选取105的DEtime数据,注意这里替换为自己的数据即可,数据形式为n行*1列,列数必须为1。


%% 设置参数
lb = [100 3];    %惩罚因子和K的下限
ub = [2500 10];  %惩罚因子和K的上限
dim = 2;            % 优化变量数目
Max_iter=20;       % 最大迭代数目
SearchAgents_no=20;       %种群规模


%% 调用SCNGO函数
[fMin , bestX, Convergence_curve ] = SCNGO(SearchAgents_no,Max_iter,lb,ub,dim,fobj,da);


%% 画适应度函数曲线图,并输出最佳参数
figure
plot(Convergence_curve,'Color',[0.9 0.5 0.1],'Marker','>','LineStyle','--','linewidth',1);
title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');
legend('SCNGO优化VMD')
display(['The best solution obtained by SCNGO is : ', num2str(round(bestX))]);  %输出最佳位置
display(['The best optimal value of the objective funciton found by SCNGO is : ', num2str(fMin)]);  %输出最佳适应度值

大家注意看到xz这个变量,当选择1,以最小包络熵为适应度函数,选择2,以最小样本熵为适应度函数,选择3,以最小信息熵为适应度函数,选择4,以最小排列熵为适应度函数。这样大家切换起来就很方便了。

代码附带SCNGO在CEC2005函数的测试。

完整代码获取,点击下方卡片,后台回复关键词:

SCNGOVMD

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

改进的北方苍鹰算法优化VMD参数,最小包络熵、样本熵、信息熵、排列熵(适应度函数可自行选择,一键修改)包含MATLAB源代码... 的相关文章

随机推荐

  • JavaScript的一些设计原则

    1 单一职责原则 SRP 单一职责原则通常指 一个类只有一种功能 但是JavaScript是一门面向对象的语言 没有类的概念 所以单一职责在JavaScript中的含义是 一个对象 方法 只有一种功能 那么为什么需要单一职责原则呢 是因为不
  • 「Web3大厂」价值70亿美元的核心竞争力

    经过近 5 年的研发和酝酿 Linea 团队在 7 月的巴黎 ETHCC 大会期间宣布了主网 Alpha 的上线 引起了社区的广泛关注 截止 8 月 4 日 据 Dune 数据信息显示 其主网在一周内就涌入了 100 多个生态项目 跨入了超
  • 远程桌面链接怎么用(win10电脑远程桌面连接工具怎么使用)

    相信很多人都已经使用过QQ的远程协助 远程协助功能可以实现好友间桌面共享 还可以让好友操作自己的电脑 帮助解决一些电脑问题 然而 很多人却忽略了Windows本身就附带的一个功能 远程桌面连接 其实它的功能 性能等一点都不弱 而且它比很多第
  • 融云荣获「2023 中国数字生态通信领军企业」奖

    融云北极星如何协助开发者排查问题和预警风险 8月17日直播课 点击上方报名 由 B P 商业伙伴主办的 2023 数字生态大会 于 8 月 4 日在京举行 融云携数智办公解决方案受邀参展 并获 2023 中国数字生态通信领军企业 奖 关注
  • 微信H5页面背景音乐自动播放

    移动端默认是禁止背景音乐自动播放的 很多需求都需要在页面加载完成的情况下同时出现背景音乐 基于微信的H5页面的音频自动播放的方法网上有很多教程 本次分享的只是一种思路
  • angular 单元测试jest

    前言 最近公司要求笔者开发编写项目单元测试 之前使用过angular框架 但是不知道原来在生成组件的时候多的内个文件 name spec ts 是用来编写angular的单元测试的 下面简单介绍一下关于单元测试的一些问题 单元测试代码和业务
  • java基础:初始化块

    初始化块 1 什么是初始化块 初始化块是java类中可出现的第四种成员 成员变量 方法 构造器 一个类中可以有多个初始化块 2 初始化块的作用 从某种程度来看 初始化块是构造器的补充 初始化块总是在构造器执行之前执行 系统通压根可以使用初始
  • CUDA 初体验

    CUDA Visual Profiler CUDA编程指导 shared memory Page locked out memory C CUDA 调用 CUDA 编程介绍 CUDA 数据同步 CUDA Visual Profiler 在上
  • 关于静态批处理/动态批处理/GPU Instancing /SRP Batcher的详细剖析

    静态批处理 1 定义 标明为 Static 的静态物件 如果在使用相同材质球的条件下 在Build 项目打包 的时候Unity会自动地提取这些共享材质的静态模型的Vertex buffer和Index buffer 根据其摆放在场景中的位置
  • 刷脸支付成众多创业者青睐的项目

    风口正盛 优势尽显 刷脸支付成了众多投资者与创业者青睐的项目 布局刷脸支付行业 快速抢占头部市场 支付机构是供给方 商家B端和用户C端是需求方 而中间ISV服务商的作用就至关重要了 虽然未来存在很多变数 但刷脸支付的趋势不可阻挡 用户使用比
  • 《caffe学习之路》第五章:Ubuntu16.04 caffe ssd 在QT环境上编译运行ssd_detect.cpp

    大多深度学习框架主要支持python 而caffe提供c 接口 这也是我选择caffe框架的原因 前一章说到examples ssd目录下的ssd detect cpp文件是weiliu等大神给我们提供的 算是一个c 实现demo 这一章主
  • 如何在UE4里面打开一个Windows窗口

    案例 FailureMessage FText Format LOCTEXT PrimaryGameModuleCouldntBeLoaded The game module 0 could not be loaded There may
  • mac m2 安装使用linux

    问题出现在哪里
  • 图片转为git 小程序 python

    先展示效果图 下面展示一些 内联代码片 import os import imageio from natsort import natsorted def create gif image list gif name frames for
  • android 平板怎么刷机,小白必看,安卓平板电脑刷机教程之一键刷机

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 从来没刷机的的小白 你有以下疑问吗 什么是 刷机 什么是 ROM 什么是 ROOT 什么是 Recovery 什么是USB调试模式 如何打开USB调试模式 刷机会不会损坏我的设备 刷机中途能拔掉
  • 利用反射创建对象

    public class Reflection public static void main String args throws Exception Reflection reflection new Reflection System
  • HTML属性

    目录 HTML 属性 属性实例 更多 HTML 属性实例 属性例子 1 属性例子 2 属性例子 3 HTML 提示 使用小写属性 始终为属性值加引号 HTML 属性参考手册 一个完整的实例 属性为 HTML 元素提供附加信息 HTML 属性
  • 安装Firefly错误-Unable to find vcvarsall.bat

    晚上尝试安装Firefly时 在安装twisted时出现错误而退出 根据错误提示如下 error Setup script exited with error Microsoft Visual C 9 0 is required Unabl
  • 5、基于注解的AOP配置

    一 开启注解支持 1 概述 1 Spring AOP如同IoC一样支持基于XML和基于注解两种配置方式 基于注解所需的依赖和基于XML所需的依赖一致 其中spring context包含了Spring IoC Spring AOP等核心依赖
  • 改进的北方苍鹰算法优化VMD参数,最小包络熵、样本熵、信息熵、排列熵(适应度函数可自行选择,一键修改)包含MATLAB源代码...

    今天给大家带来一期由改进的北方苍鹰算法 SCNGO 优化VMD的两个参数 同样以西储大学数据集为例 选用105 mat中的X105 BA time mat数据中1000个数据点 没有数据的看这篇文章 西储大学轴承诊断数据处理 matlab免