声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2525|回复: 6

[HHT] emd_visu显示的问题?

[复制链接]
发表于 2010-11-17 15:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function varargout = emd_visu(x,t,imf,i);

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,
是我下的程序有问题还是怎么回事?

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2010-11-18 19:11 | 显示全部楼层
if sum(size(t)>1)>1
如果为真,说明函数的第二个参数是矩阵,如果是矩阵的话,说明使用函数的人第二个参数输入的不是时间参数而是IMF这个参数,缺省输入了时间参数,所以才会有后面的
t =1:length(x);
if(nargin==3)
    fignum = i;
  end
好好看看matlab可变输入输出参数的函数吧
 楼主| 发表于 2010-11-19 21:36 | 显示全部楼层
是这么回事,当时好像理解错误了,imf至少都是2维的,而时间函数却始终是一维的,所以size(t)>1时间矩阵式不满足的。只有imf会满足
发表于 2010-12-7 08:51 | 显示全部楼层
回复 1 # WJzhengdong 的帖子

你好,请 if(nargin==4)这个是干什么的啊?你是用HHT做什么的啊 可以交流一下吗 谢谢
                  fignum = i;
 楼主| 发表于 2010-12-7 09:17 | 显示全部楼层
if 括号里表示输入参数为4个时,i是第四个,就把i付给fignum。它是确定显示图像个数的
发表于 2011-3-30 21:57 | 显示全部楼层
回复 5 # WJzhengdong 的帖子

为什么确定图像个数?那不常用的第四个图像做什么的?
发表于 2012-4-12 10:09 | 显示全部楼层
回复 6 # aishuishou 的帖子

运行界面

运行界面
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-18 04:04 , Processed in 0.081829 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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