声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3495|回复: 7

[编程技巧] 求画出振荡的包络线图

[复制链接]
发表于 2006-10-17 23:03 | 显示全部楼层 |阅读模式

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

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

x
x=0:0.01:10;
y=exp(0.1*x).*cos(5*x);
plot(x,y);
运行后图象为发散的振荡,怎样才能再画出振荡的包络线图啊,或者怎样求出y在每一个波峰和波谷处的值啊?
本人是来的,请各位高手们多多帮助啊

[ 本帖最后由 ChaChing 于 2009-4-22 14:26 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-10-18 00:27 | 显示全部楼层
本人是来的

来干嘛?^_^
  1. hold on
  2. y1=exp(.1*x);
  3. y2=-exp(.1*x);
  4. plot(x,[y1;y2])
复制代码

评分

1

查看全部评分

发表于 2006-10-18 08:44 | 显示全部楼层
上面的我运行了,图画的很好:
untitled.jpg
发表于 2006-10-18 10:17 | 显示全部楼层
原帖由 fanghuikeer 于 2006-10-18 08:44 发表
上面的我运行了,图画的很好:


当然了,bainhome出手,哪有搞不定的:@P。其实原理是因为原信号是一个很规范的单分量信号,用HHT的语言来说就是一个IMF,并且是A(t)cos(b(t))的形式,因为其幅值A(t)就是它的包络

[ 本帖最后由 eight 于 2006-10-18 10:25 编辑 ]
 楼主| 发表于 2006-10-18 16:17 | 显示全部楼层

谢谢各位高手的指点啊,还有一个问题。。。?

谢谢各位高手的指点啊,我还有一个问题:
       如果事先不知道y和x间的关系式,而是仅得到y对应于x的各个函数值,这些函数值组成了一个类似发散振荡的图形,可不可以不根据表达式y=exp(0.1*x).*cos(5*x),而仅根据y的一系列值来求出包络线啊?
     我是新来的,还请高手们多多指教啊
发表于 2006-10-19 09:09 | 显示全部楼层
  1. x=0:0.01:10;
  2. y=exp(0.1*x).*cos(5*x);
  3. maxi=find(diff(sign(diff(y)))==-2)+1;
  4. mini=find(diff(sign(diff(y)))==2)+1;
  5. xmax=x(maxi);
  6. ymax=y(maxi);
  7. xmin=x(mini);
  8. ymin=y(mini);
  9. plot(x,y);
  10. hold on;
  11. plot(xmax,ymax,'--',xmin,ymin,'--')
复制代码

评分

1

查看全部评分

 楼主| 发表于 2006-10-19 23:10 | 显示全部楼层

谢谢楼上的高手啊

谢谢楼上的高手啊!
发表于 2011-7-8 09:08 | 显示全部楼层
哥们你在这里自娱自乐啊,我也想知道,有答案了吗

点评

有答案了吗? 2F & 6F !?  发表于 2011-7-9 00:47
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-25 17:55 , Processed in 0.092375 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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