给定一组数据,设计一个寻峰方法,寻找数据中所有的峰值,并计算峰的半高宽(matlab求解)

2024-11-15 21:22:03
推荐回答(4个)
回答1:

楼上的,你想的太简单了,这样只能找到一个最大值,人家是找所有峰值
其实我也在正在找办法来确定峰值,我是要确定一个乐音的频谱分析图中的所有峰值和对应频率,直到现在还没找到的办法解决的,希望哪位达人能帮我们解决!

回答2:

本人初学者,仅提供思路以供参考

设给定数组为data,使用matlab的findpeaks函数,使用其中的一种格式:
[pks,locs,w,p] = findpeaks(data)

其中locs是横坐标,pks是纵坐标,w应该就是峰的半高宽
p.s.本人使用matlab 2019a

回答3:

j假设这组数名成为data,先求出最大值,
mx=max(data)./2
sn=find(data>mx)
width=sn(length)-sn(1)

回答4:

是个纯输数学问题