% 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;

前程算法屋
- 粉丝: 6278
- 资源: 834
最新资源
- Plexim PLECS Standalone 4.9.2 x64(含Crk).zip
- 基于Simulink的模糊与神经网络混合控制策略研究:PID、模糊PID、自适应模糊控制及神经网络模糊PID控制器的仿真分析,基于Simulink的模糊与神经网络混合控制策略研究与应用:从PID到自适
- 无感FOC电机三相控制高速吹风筒方案详解:高效率、低噪音、低成本,AC220V功率80W,最高转速达20万RPM,采用按键调试,原理图及PCB软件代码全支持 ,基于三相无感FOC控制的高速吹风筒解决方
- 《COMSOL顺层钻孔瓦斯抽采实践案例分析与技术探讨》,COMSOL模拟技术在顺层钻孔瓦斯抽采案例中的应用研究与实践,comsol顺层钻孔瓦斯抽采案例 ,comsol;顺层钻孔;瓦斯抽采;案例,COM
- 基于遗传算法的带时间窗的免疫优化模型:冷链物流与电动车充电选址路径研究,基于遗传算法的带时间窗选址与路径优化问题研究:冷链物流的碳约束与电动车充电桩路径规划决策分析,matlab带时间窗的改进遗传算法
- 悬架系统频域特性综合研究:不同质量、阻尼与刚度对平顺性频域特性的影响分析,悬架系统频域特性综合研究:不同质量、阻尼与刚度对平顺性频域特性的影响分析,悬架频域特性分析: 1.不同簧下质量平顺行频域特性分
- java项目,毕业设计(包含源代码)-4S店车辆管理系统
- QtChart自定义显示样式
- 使用qsort排序其他类型的数据
- 易我数据恢复EaseUS Data Recovery Wizard 16.0技术员终身版本
- 测试本地部署DeepSeek的桌面助手小工具(Ollama)
- deepseek使用教程
- ip-test-01-reset.zip
- java项目,毕业设计(包含源代码)-springboot学生综合成绩测评系统
- 基于MATLAB的虚拟直流电机模型建立及惯量系数自适应控制器设计(复现论文含详细代码及解释)
- uni-app小程序开发 基础知识2 后端代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


