求助,求波峰值
初学matlab,不知道如何求取波形的波峰值(比如前4个波峰值),波形见附件图片,原始数据见附件txt文档。自己试过论坛上的好多方法都不成功,求助各位高手,先谢谢了! 原帖由 brown 于 2010-4-14 17:44 发表 http://www.chinavib.com/forum/images/common/back.gif...自己试过论坛上的好多方法都不成功...
代码??
回复 沙发 的帖子
谢谢ChaChing 回复!我尝试用过的代码是:
y=y1;%y1是附件中的数据
maxi=find(diff(sign(diff(y)))==-2)+1;
ymax=y(maxi);
plot(y1);
hold on ;
plot(ymax,'--')
运行后得不到想要的前4个波峰值。另外在论坛上看到有的说用max循环去找,由于是初学,max循环我就搞不出来了,:@( 嘿嘿。 数据大吗? 不大上传好试!
猜测受微小数据影响 真是一针见血,确实是受微小数据影响。数据请见附件! 仔细观察LZ的数据(测试数据吗?), 除微小数据有跳动外, 在有兴趣的区域亦然, LZ可能无法简单如3F方式即取得LZ要的!
前者(微小数据有跳动)容易处理, 设定一阀值即可
后者可能即需先拟合数据后, 再使用3F的方式了 非常感谢ChaChing !你这一说提醒了我,呵呵。我所提供的数据确实是测试数据,是我在测阻尼比的时候获取的。我现在想先进行光滑处理然后再用3F的方法去求峰值,这样也许会存在一些误差,但应该能满足我计算的要求了。 期待楼主顺利解决问题, 并与大家分享你的成果! 你好,为什么我看不到ChaChing的回复,我也遇到相同的问题,请指教谢谢。 {:4_67:}学习了 为体能而来
楼主贴上源程序帮帮忙啊
页:
[1]