% Y: Inputted data;
% Nstd: ratio of the standard deviation of the added noise and that of Y;
% NE: Ensemble member being used
% TNM: total number of modes (not including the trend)
%
function allmode=ceemd(Y,Nstd,NE,TNM)
% find data length
xsize=length(Y);
dd=1:1:xsize;
% Nornaliz data
Ystd=std(Y);
Y=Y/Ystd;
% Initialize saved data
TNM2=TNM+2;
for kk=1:1:TNM2,
for ii=1:1:xsize,
allmode(ii,kk)=0.0;
end
end
for iii=1:1:NE
% adding noise
for i=1:xsize,
temp=randn(1,1)*Nstd;
X1(i)=Y(i)+temp;
X2(i)=Y(i)-temp;
end
% sifting X1
xorigin = X1;
xend = xorigin;
% save the initial data into the first column
for jj=1:1:xsize
mode(jj,1) = xorigin(jj);
end
nmode = 1;
while nmode <= TNM,
xstart = xend;
iter = 1;
while iter<=5,
[spmax, spmin, flag]=extrema(xstart);
upper= spline(spmax(:,1),spmax(:,2),dd);
lower= spline(spmin(:,1),spmin(:,2),dd);
mean_ul = (upper + lower)/2;
xstart = xstart - mean_ul;
iter = iter +1;
end
xend = xend - xstart;
nmode=nmode+1;
% save a mode
for jj=1:1:xsize,
mode(jj,nmode) = xstart(jj);
end
end
% save the trend
for jj=1:1:xsize,
mode(jj,nmode+1)=xend(jj);
end
% add mode to the sum of modes from earlier ensemble members
allmode=allmode+mode;
%%%=============================================================
% sifting X2
xorigin = X2;
xend = xorigin;
% save the initial data into the first column
for jj=1:1:xsize,
mode(jj,1) = xorigin(jj);
end
nmode = 1;
while nmode <= TNM,
xstart = xend;
iter = 1;
while iter<=5,
[spmax, spmin, flag]=extrema(xstart);
upper= spline(spmax(:,1),spmax(:,2),dd);
lower= spline(spmin(:,1),spmin(:,2),dd);
mean_ul = (upper + lower)/2;
xstart = xstart - mean_ul;
iter = iter +1;
end
xend = xend - xstart;
nmode=nmode+1;
% save a mode
for jj=1:1:xsize,
mode(jj,nmode) = xstart(jj);
end
end
% save the trend
for jj=1:1:xsize,
mode(jj,nmode+1)=xend(jj);
end
% add mode to the sum of modes from earlier ensemble members
allmode=allmode+mode;
%fprintf('-');
end
% ensemble average
allmode=allmode/NE/2;
% Rescale mode to origional unit.
allmode=allmode*Ystd;

前程算法屋
- 粉丝: 6389
- 资源: 834
最新资源
- ShellTransition学习笔记
- 5G+AI智慧高校大数据顶层规划设计及应用方案(67页PPT).pptx
- 基于PWM的 三色灯RGB模块调色 标准库 代码
- 基于Simulink仿真的光储并网直流微电网模型研究:MPPT最大功率输出与混合储能系统的协同优化,基于Simulink仿真的光储并网直流微电网模型研究:MPPT最大功率输出与混合储能系统的协同优化
- JAVA实现有趣的迷宫小游戏(附源码).zip
- 基于NRBO-Transformer-BILSTM的深度学习模型:多特征分类预测与性能评估的Matlab实现,基于NRBO-Transformer-BILSTM的多特征分类预测模型与性能评估的Matl
- 磁链观测器在VESC中的应用方法及其代码、文档、仿真模型的对应关系以及附送翻译的Lawicel CANUSB驱动,磁链观测器在VESC中的应用:实现0速闭环启动,代码、文档、仿真模型供学习,磁链观测器
- 基于多智能体一致性算法的电力系统分布式经济调度策略:迭代优化与仿真验证,基于多智能体一致性算法与迭代计算的电力系统分布式经济优化调度策略(MATLAB实现),MATLAB代码基于多智能体系统一致性算
- 2013.8.5-2025.3.5碳排放权交易数据(日度).xlsx
- 中断上下文详细解析PDF详细内容
- VC-redist.x64-14.42.34438.0.7z
- MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入分类预测(含模型描述及示例代码)
- Matlab实现KOA-CNN-GRU-selfAttention多特征分类预测(自注意力机制)(含模型描述及示例代码)
- MATLAB实现SSA-CNN-BiLSTM-Attention多变量时间序列预测(SE注意力机制)(含模型描述及示例代码)
- 基于磁耦合谐振的无线电能传输设计:MATLAB仿真中的PWM控制与过零检测模块探讨及二极管与同步整流技术的结合应用 ,基于Matlab Simulink仿真的无线电能传输设计:磁耦合谐振与PWM MO
- 博图16立体车库控制系统:PLC运行效果视频展示与接线图详解,深度解析:4x5立体车库控制系统的博图16版本,含PLC运行效果视频、详细接线图及IO表,4x5立体车库控制系统 博图16 带PLC运行效
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


