基于改进天鹰优化算法(IAO)优化ICEEMDAN参数(IAO-ICEEMDAN)

文摘   2024-07-24 18:47   湖南  

【智能优化算法】改进的AO算法(IAO)

ICEEMDAN分解

代码原理

基于改进天鹰优化算法(IAO)优化ICEEMDAN参数(IAO-ICEEMDAN),其适应度函数的选择和基本原理与之前讨论的方法类似,具体如下:

  1. 排列熵最小:选择这种适应度函数时,优化过程会使得ICEEMDAN分解后的各个固有模态函数(IMF)的排列熵最小化。排列熵度量了信号中相邻数据点的相对排列不确定性。
  2. 最小包络熵最小:在这种选择下,适应度函数会使得ICEEMDAN分解后的各个IMF的包络线的熵最小化。包络线是每个IMF的极大值和极小值点之间的连线。

基本原理和步骤如下:

  1. 初始化:初始化ICEEMDAN参数和IAO算法参数。
  2. ICEEMDAN分解:使用当前的ICEEMDAN参数对信号进行分解,得到一组IMF。
  3. 计算适应度:根据选择的适应度函数,计算每个IMF的适应度值。
  4. 优化:使用IAO算法对ICEEMDAN参数进行优化,以使得适应度函数最小化。
  5. 更新参数:根据优化结果更新ICEEMDAN参数。
  6. 收敛判断:判断算法是否收敛,若未收敛则返回步骤2,否则输出优化后的ICEEMDAN参数。

通过以上步骤,IAO算法能够有效地优化ICEEMDAN的参数,从而更好地适应不同的适应度函数选择,进而优化信号的分解过程。

代码效果图

部分核心代码

%% 优化ICEEMDAN参数clc;clear;close all%% 加载数据load test_signal;signal=signal(1,1:1000);%设置采样率来设置时间N=length(signal);Fs=1000;%%采样频率自己设置t=((0:N-1)*1/Fs)';%% 设定算法参数% 进化代数,即迭代次数    % 种群规模. Max_iter=10;           sizepop=20;% 参数范围(ICEEMDAN有两个参数:噪声标准偏差Nstd和实现次数NE, 0.001≤Nstd≤0.5;10≤NE≤100;% 变量下限       % 变量上限          % 优化参数个数为2,分别为ICEEMDAN的Nstd和NElb=[0.001, 10];  ub=[0.5, 100];             dim = length(lb);%% 选择适应度函数criterion =2;%选择1时采用的函数是排列熵最小               %选择2时采用的函数是最小包络熵最小               %选择3时采用的函数是信息熵函数最小               %选择4时采用的函数是样本熵函数最小fobj=@(x) objfun(x,signal,lb,ub,criterion); % 调用定义的目标函数%% 调用优化算法进行参数寻优addpath(genpath(pwd));%将算法文件夹添加到路径中tic[bestfitness,bestx,Convergence_curve]=IAO(sizepop,Max_iter,lb,ub,dim,fobj);toc;rmpath(genpath(pwd));%将算法文件夹从路径中移除%% 画适应度函数曲线图,并输出最佳参数figureplot(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('IAO优化ICEEMDAN')%% 优化ICEEMDAN参数clc;clear;close all%% 加载数据load test_signal;signal=signal(1,1:1000);%设置采样率来设置时间N=length(signal);Fs=1000;%%采样频率自己设置t=((0:N-1)*1/Fs)';%% 设定算法参数% 进化代数,即迭代次数    % 种群规模. Max_iter=10;           sizepop=20;% 参数范围(ICEEMDAN有两个参数:噪声标准偏差Nstd和实现次数NE, 0.001≤Nstd≤0.5;10≤NE≤100;% 变量下限       % 变量上限          % 优化参数个数为2,分别为ICEEMDAN的Nstd和NElb=[0.001, 10];  ub=[0.5, 100];             dim = length(lb);%% 选择适应度函数criterion =2;%选择1时采用的函数是排列熵最小               %选择2时采用的函数是最小包络熵最小               %选择3时采用的函数是信息熵函数最小               %选择4时采用的函数是样本熵函数最小fobj=@(x) objfun(x,signal,lb,ub,criterion); % 调用定义的目标函数%% 调用优化算法进行参数寻优addpath(genpath(pwd));%将算法文件夹添加到路径中tic[bestfitness,bestx,Convergence_curve]=IAO(sizepop,Max_iter,lb,ub,dim,fobj);toc;rmpath(genpath(pwd));%将算法文件夹从路径中移除%% 画适应度函数曲线图,并输出最佳参数figureplot(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('IAO优化ICEEMDAN')

下载链接:https://mbd.pub/o/bread/mbd-ZpeTm59v


赠书活动

Matlab科研绘图与学术图表绘制从入门到精通内容简介

本书是一本全面指导读者掌握MATLAB数据可视化的实用指南。全书精心编排了13章内容,旨在帮助读者了解和掌握MATLAB的数据分析和可视化功能。

具体而言:第1章为MATLAB基础;第2章为数据结构;第3章为程序流程控制;第4章为函数;第5章为数据导入与准备;第6章为科技绘图基础;第7章为单变量图形绘制;第8章为双变量图形绘制;第9章为多变量图形绘制;第10章为极坐标相关图形绘制;第11章为3D图形绘制;第12章为地理信息可视化;第13章为数据学术报告、论文和出版。最后还有两个附录:附录1为MATLAB常用函数和工具箱的快速参考指南;附录2为科研论文配图的绘制与配色。

本书从MATLAB的基础知识讲到高级数据可视化技巧,将帮助读者全面掌握科研绘图和学术图表的制作。本书不仅适合新手,也适用于有一定经验的MATLAB用户,是一本高效实用的学习工具书。
京东:https://item.jd.com/14102657.html
当当:http://product.dangdang.com/29702924.html


抽奖方式及满足条件:

1.关注MATLAB科研小白;
2.转发本文到朋友圈;
3.给本文点【赞】、点【在看】;
4.留言区评论点赞最多者。

文章阅读量每满1000免费包邮一本,按评论点赞排序赠书一本:《Matlab科研绘图与学术图表绘制从入门到精通》

开奖日期:2024年6月31日晚8点。


特别说明:截止时间文章阅读量不满1000不赠送书籍哦,因此需要大家帮忙推广该推文哦。(经常出现个别朋友中奖后联系不到,影响集体发货时间,因此中奖后24小时未联系小编者,名额将顺延至下一位中奖朋友,望大家理解、配合。)



MATLAB科研小白
信号处理方向在校博士研究生,目前专研于MATLAB算法及科学绘图等,熟知各种信号分解算法、神经网络时序预测算法、数据拟合算法以及滤波算法。提供一个可以相互学习相互进步的平台
 最新文章