首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用MATLAB中的查找峰和最小峰距离来找出由距离而不是指数来分离的峰。

利用MATLAB中的查找峰和最小峰距离来找出由距离而不是指数来分离的峰。
EN

Stack Overflow用户
提问于 2013-08-07 15:38:20
回答 2查看 6.7K关注 0票数 1

我试图在MATLAB图形中得到峰值的x坐标(例子附后)。我一直在使用findpeaks,但它似乎不喜欢我正在绘制点而不是线条的事实。

我不会总是有两个高峰。有时我会有三个,有时我会有一个。多个峰值总是至少以x范围的1/4分开,而峰值总是至少是噪声水平的两倍。

以下是我所期望的效果:

代码语言:javascript
复制
[pks,locs] = findpeaks(yData,...
                       'SortStr','descend',...
                       'MinPeakDistance',floor(range(xData)/4),...
                       'MinPeakHeight',floor(max(yData)/2)...
                       )

我没有得到两个峰,而是在第一个峰周围捆绑了四个:

代码语言:javascript
复制
>> locs

locs =

    6774      166785      326792      486799
>> xData(locs)

ans = 

-96780.787939025         -96770.1800919265   
-96770.8959353367        -96771.6117787468

我假设MinPeakDistance正在处理in xData索引,而不是数据本身。我如何使它使用之间的距离,峰之间的距离,而不是之间的指数的峰值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-07 16:15:41

findpeaks对x坐标和你所绘制的坐标一无所知。您需要根据索引指定MinPeakDistance。下面是一个例子:

代码语言:javascript
复制
xData = -100:1:-1;
yData = rand(1,100);
yData(10) = 100; % peak
yData(11) = 99; % not a peak
yData(50) = 100; % peak
yData(51) = 99; % not a peak
[pks,locs] = findpeaks(yData,...
                       'SortStr','descend',...
                       'MinPeakDistance',floor(length(yData)/4),...
                       'MinPeakHeight',floor(max(yData)/2)...
                       );


xLocs = xData(locs);

pks =

   100   100


locs =

    10    50
票数 1
EN

Stack Overflow用户

发布于 2013-08-07 16:36:08

虽然我接受了莫莉的回答,但我发现我自己的答案稍微少了一些,但不那么优雅:

代码语言:javascript
复制
  %find all peaks significantly above noise floor
  [pks,locs] = findpeaks(yData,'SortStr','descend','MinPeakHeight',floor(max(yData)/2));
  xLocs = xData(locs);           

  %find number of peak clusters
  numPeaks = length(unique(round(xLocs/100)));

  %find locations of numPeaks peaks
  [pks,locs] = findpeaks(yData,'SortStr','descend','npeaks',numPeaks);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18107695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档