if sum(size(t)>1)>1
imf = t;
t =1:length(x);
if(nargin==3)
fignum = i;
end
else
if(nargin==4)
fignum = i;
end
end
这是这个函数开头一部分,不明白为什么第二行出现
imf = t;
t =1:length(x);
函数输入里第一个X是原信号,第二个t表示时间啊有的程序也直接写成1:length(x);
,第三个是emd的imf才对,为什么显示程序开头把t付给了imf,
是我下的程序有问题还是怎么回事?
if sum(size(t)>1)>1
如果为真,说明函数的第二个参数是矩阵,如果是矩阵的话,说明使用函数的人第二个参数输入的不是时间参数而是IMF这个参数,缺省输入了时间参数,所以才会有后面的
t =1:length(x);
if(nargin==3)
fignum = i;
end
好好看看matlab可变输入输出参数的函数吧