How can i get the last element of a maxium with the help of findpeaks?

조회 수: 1 (최근 30일)
Hello,
i want to find a maximum with the last element. I want to use findpeaks instead of islocalmax to solve my problem.
So my question is how can i get the last element of a maxium with the help of findpeaks?
Example with findpeaks:
data = [25 8 15 5 6 10 10 10 1 20 7];
x = 1:1:11;
[pks,pksInx] = findpeaks(data);
figure
plot(x,data,'b')
hold on
plot(pksInx,pks,'ko')
hold off
But how it should looks like with islocalmax:
TF1 = islocalmax(data, 'FlatSelection', 'last');
figure
plot(x,data,'b',x(TF1),data(TF1),'ko')
  댓글 수: 2
madhan ravi
madhan ravi 2020년 8월 6일
Why not islocalmax() any reasons?
Denis Paul
Denis Paul 2020년 8월 6일
No, there is not a big reason. I was just interested because its possible with the islocalmax() function and maybe its was possible with the findpeaks() function also. Now i know it isn't.

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

채택된 답변

madhan ravi
madhan ravi 2020년 8월 6일
It states:
“For the flat peak, the function returns only the point with lowest index.”

추가 답변 (1개)

Mario Malic
Mario Malic 2020년 8월 6일
According to documentation, variable you named pks is a vector that contains values you need. You just need to call the last element of the vector.
pks(end)
  댓글 수: 2
madhan ravi
madhan ravi 2020년 8월 6일
That would just select the last peak. According to what I understood OP wants the last peak if they are the same peaks. Three 10s and OP wants the last 10 instead of the first.

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

카테고리

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