本帖最后由 kkku6gu4 于 2018-5-1 14:53 编辑

function [allmode,TNM]=eemd(Y,Nstd,NE)

%part1.read data, find out standard deviation ,devide all data by std

[Y]=audioread('bass.wav');

Nstd=0.2

NE=1

xsize=length(Y);

dd=1:1:xsize;

Ystd=std(Y);

Y=Y/Ystd;

filename = 'bass.wav';

audioread (filename)

%part2.evaluate TNM as total IMF number,ssign 0 to TNM2 matrix

TNM=fix(log2(xsize))-1;

TNM2=TNM+2;

for kk=1:1:TNM2,

for ii=1:1:xsize,

allmode(ii,kk)=0.0;

end

end

%part3 Do EEMD  -----EEMD loop start

for iii=1:1:NE,   %EEMD loop -NE times EMD sum together

%part4 --Add noise to original data,we have X1

for i=1:xsize,

temp=randn(1,1)*Nstd;

X1(i)=Y(i)+temp;

end

%part4 --assign original data in the first column

for jj=1:1:xsize,

mode(jj,1) = Y(jj);

end

%part5--give initial 0 to xorigin and xend

xorigin = X1;

xend = xorigin;

%part6--start to find an IMF-----IMF loop start

nmode = 1;

while nmode <= TNM,

xstart = xend; %last loop value assign to new iteration loop

%xstart -loop start data

iter = 1;      %loop index initial value

%part7--sift 10 times to get IMF---sift loop  start

while iter<=10,

[spmax, spmin, flag]=extrema(xstart);  %call function extrema

%the usage of  spline ,please see part11.

upper= spline(spmax(:,1),spmax(:,2),dd); %upper spline bound of this sift

lower= spline(spmin(:,1),spmin(:,2),dd); %lower spline bound of this sift

mean_ul = (upper + lower)/2;%spline mean of upper and lower

xstart = xstart - mean_ul;%extract spline mean from Xstart

iter = iter +1;

end

%part7--sift 10 times to get IMF---sift loop  end

%part8--subtract IMF from data ,then let the residual xend to start to find next IMF

xend = xend - xstart;

nmode=nmode+1;

%part9--after sift 10 times,that xstart is this time IMF

for jj=1:1:xsize,

mode(jj,nmode) = xstart(jj);

end

end

%part6--start to find an IMF-----IMF loop end

%part 10--after gotten  all(TNM) IMFs ,the residual xend is over all trend

%                        put them in the last column

for jj=1:1:xsize,

mode(jj,nmode+1)=xend(jj);

end

%after part 10 ,original +TNM-IMF+overall trend  ---those are all in mode

allmode=allmode+mode;

end

%part3 Do EEMD  -----EEMD loop end

%part10--devide EEMD summation by NE,std be multiply back to data

allmode=allmode/NE;

allmode=allmode*Ystd;

如上,藍色的地方是參數,黑色是程式,綠色是說明,紅色是出錯的地方,懇請各為高手指導

matlab must agree,EEMD遇到Inner matrix dimensions must agree.相关推荐

  1. matlab must agree,运行错误Matrix dimensions must agree

    matlab运行上述程序时,出现如下错误,如何解决呢?不知道如何更正 ??? Error using ==> minus Matrix dimensions must agree. 矩阵的维度在 ...

  2. matlab must agree,Matlab程序出错显示“Matrix dimensions must agree”,怎么办?

    我在做毕业设计,是个初学者,刚接触matlab不到一周.我的程序和出现的错误如下: p=[1 1 1;1 2 2;1 3 3;2 1 3;2 2 1;2 3 2;3 1 2]'; t=[22;50;3 ...

  3. Inner matrix dimensions must agree 解决方法

    转自 http://hi.baidu.com/kingmmxtj/blog/item/dfec6bf809bb3a09d8f9fdc2.html 提前说明:matlab中求阶乘的函数是factoria ...

  4. Matlab:成功解决 Inner matrix dimension must agree

    Matlab:成功解决 Inner matrix dimension must agree 目录 解决问题 解决方法 解决问题 Inner matrix dimension must agree 解决 ...

  5. matlab里trim函数,matlab 中trim函数总出现Index exceeds matrix dimensions,求大神帮忙解决...

    运行一个trim函数,可是总是错误 Index exceeds matrix dimensions. Error in trim>trim_alg (line 164) gg=[x(ix)-x0 ...

  6. 机器学习之MATLAB代码--CEEMDAN+EEMD+EMD+VMD+IMF重构络(十八)

    机器学习之MATLAB代码--CEEMDAN+EEMD+EMD+VMD+IMF重构络(十八) 压缩分量的EEMD代码 压缩分量的EEMD数据 压缩分量的EEMD结果 CEEMDAN代码 CEEMDAN ...

  7. 利用matlab画混淆矩阵(confusion matrix)

    写论文的过程中经常需要画一个混淆矩阵(confusion matrix)来验证分类结果的有效性.通常只需要两个步骤: - 保存混淆矩阵文本文件 - matlab中使用imagesc命令 例如: > ...

  8. 台湾国立大学郭彦甫Matlab教程笔记(4)matrix

    replacing entries取代某个位置某个数值 目前A矩阵是这个样子 现在需要练习到后面这个矩阵 练习的步骤: 现在的问题是:如何把右上角的4个位置赋值为同一个数. 运用上一笔记中的用法,链接 ...

  9. 地震 位错模型 matlab,8解(EEMD)的汶川Ms8[1].0强震动记录时频特性分析

    第34卷第3期地震学报V01.34,No.32012年5月(350-362)ACTASEISMOLOGICASINICAMay,201Z李大虎,赖敏,何强,马新欣,顾勤平.2012.基于聚类经验模态分 ...

最新文章

  1. [转]控制 Cookie 的作用范围
  2. SWTBOK測试实践系列(1) -- 測试在项眼下期的评审投入划算吗?
  3. Bone Collector
  4. javaweb分页查询oracle,JavaWeb项目 利用Oracle数据库实现分页查看细讲
  5. high definition audio控制器感叹号_三门峡回收科霸控制器
  6. CCF201403-3 命令行选项(100分)
  7. Java——类成员的访问权限修饰符(private、protected、public、default)
  8. Python全栈开发记录_第六篇(生成器和迭代器)
  9. python RTL自动生成_RTL建模
  10. 网银支付接口资料小总
  11. Lenovo Y430P安装Linux无线网卡
  12. Azure-发布个人静态网站
  13. SpringSession 前后端使用Cookie
  14. 2020年Android开发的未来发展方向该如何走?
  15. CSDN的文章如何快速转移到微信公众号上
  16. 基于Pytorch实现的流式与非流式语音识别
  17. 国科大 - 自然语言处理(刘洋)- 期末复习
  18. 吕鑫MFC学习系列一
  19. 计算机组成原理调试程序,计算机组成原理实验调试系统调试系统.PDF
  20. 牛客网刷题笔记-SQL85 实习广场投递简历分析(二)

热门文章

  1. Idea中Spring整合MyBatis框架中配置文件中对象注入问题解决方案
  2. 【面经】中软-数据实习生
  3. Java多线程:生命周期,实现与调度
  4. 16.1117 NOIP 模拟赛
  5. centos/linux 安装node.js
  6. C#.Net 常用函数和方法集
  7. Flutter 一个优美的用户体验的登录页面 抖动提示 文本提示
  8. 国内CDH的MAVEN代理
  9. [ NOIP 1998 ] TG
  10. winform 窗体中 Time 控件的用法