matlab must agree,EEMD遇到Inner matrix dimensions must agree.
本帖最后由 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.相关推荐
- matlab must agree,运行错误Matrix dimensions must agree
matlab运行上述程序时,出现如下错误,如何解决呢?不知道如何更正 ??? Error using ==> minus Matrix dimensions must agree. 矩阵的维度在 ...
- 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 ...
- Inner matrix dimensions must agree 解决方法
转自 http://hi.baidu.com/kingmmxtj/blog/item/dfec6bf809bb3a09d8f9fdc2.html 提前说明:matlab中求阶乘的函数是factoria ...
- Matlab:成功解决 Inner matrix dimension must agree
Matlab:成功解决 Inner matrix dimension must agree 目录 解决问题 解决方法 解决问题 Inner matrix dimension must agree 解决 ...
- matlab里trim函数,matlab 中trim函数总出现Index exceeds matrix dimensions,求大神帮忙解决...
运行一个trim函数,可是总是错误 Index exceeds matrix dimensions. Error in trim>trim_alg (line 164) gg=[x(ix)-x0 ...
- 机器学习之MATLAB代码--CEEMDAN+EEMD+EMD+VMD+IMF重构络(十八)
机器学习之MATLAB代码--CEEMDAN+EEMD+EMD+VMD+IMF重构络(十八) 压缩分量的EEMD代码 压缩分量的EEMD数据 压缩分量的EEMD结果 CEEMDAN代码 CEEMDAN ...
- 利用matlab画混淆矩阵(confusion matrix)
写论文的过程中经常需要画一个混淆矩阵(confusion matrix)来验证分类结果的有效性.通常只需要两个步骤: - 保存混淆矩阵文本文件 - matlab中使用imagesc命令 例如: > ...
- 台湾国立大学郭彦甫Matlab教程笔记(4)matrix
replacing entries取代某个位置某个数值 目前A矩阵是这个样子 现在需要练习到后面这个矩阵 练习的步骤: 现在的问题是:如何把右上角的4个位置赋值为同一个数. 运用上一笔记中的用法,链接 ...
- 地震 位错模型 matlab,8解(EEMD)的汶川Ms8[1].0强震动记录时频特性分析
第34卷第3期地震学报V01.34,No.32012年5月(350-362)ACTASEISMOLOGICASINICAMay,201Z李大虎,赖敏,何强,马新欣,顾勤平.2012.基于聚类经验模态分 ...
最新文章
- 【转】NIO的定义和原理是什么?
- 《未来架构师》的教学范例(1)
- tkinter python 句柄_微云收藏 python tkinter.after
- 大班线描机器人_大班美术教案机器人
- Hibernate HQL查询(2)
- Android UI设计秘笈
- 机器人控制器编程实践指导书旧版-实践一 LED灯(数字量)
- Kafka 数据丢失问题
- 你知道中国历届奥运会中获得了多少金牌吗?
- ELK企业内部日志分析系统(elasticsearch/logstash/beats/kibana)centos7详解
- Jmeter应用-接口测试
- inno setup 自定义生成的卸载程序
- 解决导出Excel表的时候,中文文件名出现乱码的问题
- 豆瓣top250图书爬取
- The connection to adb is down, and a severe error has occured.
- 解决VMware安装后网络连接中没有VMnet虚拟网络适配器
- 【计算机视觉】双目测距(二)--双目标定与矫正
- 与普通仓库相比,自动化立体库的优缺点
- 业余爱好者想入门编程,一定远离那些只会说No的家伙,尤其程序员
- 1343. Fairy Tale