查看: 6060|回复: 10|关注: 0

[已解决] 输入参数的数目不足。 出错 eemd (line 27) xsize=length(Y);

[复制链接]

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
  • 关注者: 1
% This is an EMD/EEMD program
%
%   function allmode=eemd(Y,Nstd,NE)
%
% INPUT:
%       Y: Inputted data;
%       Nstd: ratio of the standard deviation of the added noise and that of Y;
%       NE: Ensemble number for the EEMD
% OUTPUT:
%       A matrix of N*(m+1) matrix, where N is the length of the input
%       data Y, and m=fix(log2(N))-1. Column 1 is the original data, columns 2, 3, ...
%       m are the IMFs from high to low frequency, and comlumn (m+1) is the
%       residual (over all trend).
%
% NOTE:
%       It should be noted that when Nstd is set to zero and NE is set to 1, the
%       program degenerates to a EMD program.
%
% References can be found in the "Reference" section.
%
% The code is prepared by Zhaohua Wu. For questions, please read the "Q&A" section or
% contact
%   zhwu@cola.iges.org
%

function allmode=eemd(Y,Nstd,NE)
xsize=length(Y);
dd=1:1:xsize;
Ystd=std(Y);
Y=Y/Ystd;

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

for iii=1:1:NE,
    for i=1:xsize,
        temp=randn(1,1)*Nstd;
        X1(i)=Y(i)+temp;
    end

    for jj=1:1:xsize,
        mode(jj,1) = Y(jj);
    end

    xorigin = X1;
    xend = xorigin;

    nmode = 1;
    while nmode <= TNM,
        xstart = xend;
        iter = 1;

        while iter<=10,
            [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;

        for jj=1:1:xsize,
            mode(jj,nmode) = xstart(jj);
        end
    end

    for jj=1:1:xsize,
        mode(jj,nmode+1)=xend(jj);
    end

    allmode=allmode+mode;

end

allmode=allmode/NE;
allmode=allmode*Ystd;

回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

专家

2284 麦片

财富积分


20003000


0

主题

2681

帖子

499

最佳答案
  • 关注者: 75
发表于 2017-2-4 07:46:45 来自手机 | 显示全部楼层
你是直接点击这个函数页面上的运行按钮的吗?
来自: 微社区
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

权威

9199 麦片

财富积分



11

主题

1万

帖子

1997

最佳答案
  • 关注者: 604
发表于 2017-2-4 08:51:21 | 显示全部楼层
diting14 发表于 2017-2-4 07:46
你是直接点击这个函数页面上的运行按钮的吗?

肯定是这样。问问题的楼主根本就不知道该怎样使用这个函数,不知道该输入什么参数,不知道用它干啥。下载个程序,不管三七二十一就运行。
回复此楼 已获打赏: 0 积分

举报

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
  • 关注者: 1
 楼主| 发表于 2017-2-4 17:10:04 | 显示全部楼层
jingzhaos 发表于 2017-2-4 08:51
肯定是这样。问问题的楼主根本就不知道该怎样使用这个函数,不知道该输入什么参数,不知道用它干啥。下载 ...

那请问该怎么输入参数啊,因为不懂才来求教的:'(
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

专家

2284 麦片

财富积分


20003000


0

主题

2681

帖子

499

最佳答案
  • 关注者: 75
发表于 2017-2-4 17:12:19 | 显示全部楼层
山口百惠 发表于 2017-2-4 17:10
那请问该怎么输入参数啊,因为不懂才来求教的

你应该先入门,至少要搞清楚MATLAB中脚本和function的区别和如何去应用
回复此楼 已获打赏: 0 积分

举报

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
  • 关注者: 1
 楼主| 发表于 2017-2-4 17:17:45 | 显示全部楼层
diting14 发表于 2017-2-4 17:12
你应该先入门,至少要搞清楚MATLAB中脚本和function的区别和如何去应用

哦,谢谢了:handshake
回复此楼 已获打赏: 0 积分

举报

新手

14 麦片

财富积分


050


0

主题

18

帖子

1

最佳答案
发表于 2017-2-6 10:43:31 | 显示全部楼层 |此回复为最佳答案
你用的应该是台湾中央大学的工具箱,需要运行目录下的example_eemd文件测试一下。
回复此楼 已获打赏: 0 积分

举报

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
  • 关注者: 1
 楼主| 发表于 2017-2-7 17:06:53 | 显示全部楼层
风使云飞 发表于 2017-2-6 10:43
你用的应该是台湾中央大学的工具箱,需要运行目录下的example_eemd文件测试一下。 ...

对的,谢谢~
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


3

主题

8

帖子

0

最佳答案
发表于 2019-5-24 21:10:09 | 显示全部楼层
请问这个工具箱上哪里下载呀
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


0

主题

4

帖子

0

最佳答案
  • 关注者: 1
发表于 2020-2-13 23:06:36 | 显示全部楼层
请问楼主明白了么?我知道怎么输入参数运行,但不知道如何确定参数的值。
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表