深圳做網(wǎng)站建設比較好的公司義烏最好的電商培訓學校
CEEMDAN-CPO-VMD二次分解(CEEMDAN+冠豪豬優(yōu)化算法CPO優(yōu)化VMD)
目錄
- CEEMDAN-CPO-VMD二次分解(CEEMDAN+冠豪豬優(yōu)化算法CPO優(yōu)化VMD)
- 效果一覽
- 基本介紹
- 程序設計
- 參考資料
效果一覽
基本介紹
首先運用CEEMDAN對數(shù)據(jù)進行一次分解,之后運用冠豪豬優(yōu)化算法(CPO)優(yōu)化VMD對一次分解結果的第一個高頻分量進行分解,充分提取信息。
實現(xiàn)平臺:Matlab,中文注釋清晰,非常適合科研小白
冠豪豬優(yōu)化器(Crested Porcupine Optimizer,CPO)于2024年1月發(fā)表在中科院1區(qū)SCI期刊Knowledge-Based Systems上。
模型運行步驟:
1.利用冠豪豬優(yōu)化算法優(yōu)化VMD中的參數(shù)k、a,分解效果好,包含分解效果圖、頻率圖、收斂曲線等圖等。
2.冠豪豬優(yōu)化算法CPO是24年最新提出的新算法
3.相較一次分解,二次分解更能準確提取數(shù)據(jù)信息,可用于更高精度的預測或分類
3.附贈測試數(shù)據(jù) 直接運行main即可一鍵出圖
程序設計
- 完整源碼和數(shù)據(jù)獲取方式私信回復Matlab基于CEEMDAN-CPO-VMD二次分解(CEEMDAN+冠豪豬優(yōu)化算法CPO優(yōu)化VMD)。
clear all
close all
clc
warning off
%% ceemdan分解
% 加載信號
signal=xlsread('data.xlsx');
%% 分解
addpath(genpath(pwd)) % 添加路徑
D_num =5;
IMF = decomposition_compilations(signal,D_num); % imf格式為:模態(tài)個數(shù) x 數(shù)據(jù)長度rmpath(genpath(pwd)) % 移除路徑
%% 繪圖-最后一個imf可視為殘差% plot_func(signal, IMF)%% 二次分解 CPO-VMD分解
%% 參數(shù)設置
data=IMF(1,:);
len=length(data);
f=data(1:len);% alpha = 2000; % moderate bandwidth constraint
tau = 0; % noise-tolerance (no strict fidelity enforcement)
% K = 4; % 4 modes
DC = 0; % no DC part imposed
init = 1; % initialize omegas uniformly
tol = 1e-7;%% 普通VMD分解
%[u, u_hat, omega] = VMD(f, alpha, tau, K, DC, init, tol);
% 分解
[u1, u_hat1, omega1,curve,Target_pos] = WLVMD(f, tau, DC, init, tol);
figure
plot(curve,'linewidth',1.5);
title('收斂曲線')
xlabel('迭代次數(shù)')
ylabel('適應度值')
grid on%分解
figure
subplot(size(u1,1)+1,1,1);
plot(f,'k');grid on;
title('原始數(shù)據(jù)');
for i = 1:size(u1,1)subplot(size(u1,1)+1,1,i+1);plot(u1(i,:),'k');
enddisp(['最優(yōu)K值為:',num2str(Target_pos(2))])
disp(['最優(yōu)alpha值為:',num2str(Target_pos(1))])
disp(['最優(yōu)綜合指標為:',num2str(min(curve))])
%% 計時結束
%% 頻域圖
參考資料
[1] https://blog.csdn.net/kjm13182345320/article/details/129215161
[2] https://blog.csdn.net/kjm13182345320/article/details/128105718