brown 发表于 2010-4-14 17:44

求助,求波峰值

初学matlab,不知道如何求取波形的波峰值(比如前4个波峰值),波形见附件图片,原始数据见附件txt文档。自己试过论坛上的好多方法都不成功,求助各位高手,先谢谢了!

ChaChing 发表于 2010-4-15 00:47

原帖由 brown 于 2010-4-14 17:44 发表 http://www.chinavib.com/forum/images/common/back.gif
...自己试过论坛上的好多方法都不成功...
代码??

brown 发表于 2010-4-15 09:41

回复 沙发 的帖子

谢谢ChaChing 回复!
我尝试用过的代码是:
y=y1;%y1是附件中的数据
maxi=find(diff(sign(diff(y)))==-2)+1;
ymax=y(maxi);
plot(y1);
hold on ;
plot(ymax,'--')
运行后得不到想要的前4个波峰值。另外在论坛上看到有的说用max循环去找,由于是初学,max循环我就搞不出来了,:@( 嘿嘿。

ChaChing 发表于 2010-4-15 16:59

数据大吗? 不大上传好试!
猜测受微小数据影响

brown 发表于 2010-4-16 09:39

真是一针见血,确实是受微小数据影响。数据请见附件!

ChaChing 发表于 2010-4-16 11:47

仔细观察LZ的数据(测试数据吗?), 除微小数据有跳动外, 在有兴趣的区域亦然, LZ可能无法简单如3F方式即取得LZ要的!
前者(微小数据有跳动)容易处理, 设定一阀值即可
后者可能即需先拟合数据后, 再使用3F的方式了

brown 发表于 2010-4-16 15:06

非常感谢ChaChing !你这一说提醒了我,呵呵。我所提供的数据确实是测试数据,是我在测阻尼比的时候获取的。我现在想先进行光滑处理然后再用3F的方法去求峰值,这样也许会存在一些误差,但应该能满足我计算的要求了。

ChaChing 发表于 2010-4-16 22:02

期待楼主顺利解决问题, 并与大家分享你的成果!

happyangel-huan 发表于 2011-7-7 09:02

你好,为什么我看不到ChaChing的回复,我也遇到相同的问题,请指教谢谢。

facth 发表于 2011-8-23 10:23

{:4_67:}学习了

512095360 发表于 2012-10-25 15:35

为体能而来

512095360 发表于 2012-10-25 16:03

楼主贴上源程序帮帮忙啊
页: [1]
查看完整版本: 求助,求波峰值