Issue with locating end of poorly defined peak

조회 수: 1 (최근 30일)
Teshan Rezel
Teshan Rezel 2022년 6월 19일
댓글: Mathieu NOE 2022년 6월 22일
Hi folks,
I have several graphs that look similar to the one attached. I am trying to formalise a general approach to finding the location of the start and end of each peak. The start is somewhat easy (using find, and the peak position can be found using max), since the graph starts from 0 (I am interested only in the second entry onwards).
However, the end is really tricky as it never quite gets to zero. I have tried using findpeaks, and also myEnd = find(iso(myPeakLoc:end, 1) > 1e-06); but to no avail.
Can someone advise me on an alternative route please?
  댓글 수: 1
Mathieu NOE
Mathieu NOE 2022년 6월 20일
can you share your code as well (not only the data) ?

댓글을 달려면 로그인하십시오.

채택된 답변

Mathieu NOE
Mathieu NOE 2022년 6월 20일
hello again
tried this - does it help ?
curve = 10; % which curve do you want to plot ?
data = percent_iso(2:end,curve);
% max point
[maxval,maxind] = max(data);
% start point = find first point above 0.1% of max value
[startind] = find(data>0.001*maxval,1,'first');
startval = data(startind);
% stop point= find first point below 0.1% of max value past the peak
[endind] = find(data(maxind:end)<0.001*maxval,1,'first');
endind = endind + maxind;
endval = data(endind);
hold on
hold off
  댓글 수: 2
Teshan Rezel
Teshan Rezel 2022년 6월 21일
@Mathieu NOE this is perfect, thank you!
Mathieu NOE
Mathieu NOE 2022년 6월 22일
as always, my pleasure !

댓글을 달려면 로그인하십시오.

추가 답변 (0개)


Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by