本帖最后由 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. 【转】NIO的定义和原理是什么?
  2. 《未来架构师》的教学范例(1)
  3. tkinter python 句柄_微云收藏 python tkinter.after
  4. 大班线描机器人_大班美术教案机器人
  5. Hibernate HQL查询(2)
  6. Android UI设计秘笈
  7. 机器人控制器编程实践指导书旧版-实践一 LED灯(数字量)
  8. Kafka 数据丢失问题
  9. 你知道中国历届奥运会中获得了多少金牌吗?
  10. ELK企业内部日志分析系统(elasticsearch/logstash/beats/kibana)centos7详解
  11. Jmeter应用-接口测试
  12. inno setup 自定义生成的卸载程序
  13. 解决导出Excel表的时候,中文文件名出现乱码的问题
  14. 豆瓣top250图书爬取
  15. The connection to adb is down, and a severe error has occured.
  16. 解决VMware安装后网络连接中没有VMnet虚拟网络适配器
  17. 【计算机视觉】双目测距(二)--双目标定与矫正
  18. 与普通仓库相比,自动化立体库的优缺点
  19. 业余爱好者想入门编程,一定远离那些只会说No的家伙,尤其程序员
  20. 1343. Fairy Tale

热门文章

  1. 【ALB学习笔记】基于事件触发方式的串行通信接口数据接收案例
  2. JavaScript表单处理的返回值问题
  3. JAVASCRIPT和数据结构,算法
  4. Flutter BottomNavigationBar 三分钟实现一个常用APP首页底部导航菜单栏
  5. Codewars-Regex validate PIN code(正则检验PIN码)
  6. layui 表格点击图片放大
  7. 读《人月神话》有感2
  8. thinkphp 5.0 代码执行漏洞
  9. Tensorflow学习笔记---1--Python基本操作
  10. 第二阶段团队项目冲刺第一天