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

3 views (last 30 days)
Denis Paul on 6 Aug 2020
Commented: Denis Paul on 6 Aug 2020
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')

madhan ravi on 6 Aug 2020
Why not islocalmax() any reasons?
Denis Paul on 6 Aug 2020
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 on 6 Aug 2020
It states:
“For the flat peak, the function returns only the point with lowest index.”

#### 1 Comment

Denis Paul on 6 Aug 2020
OK, so i must use islocalmax(). Thanks for the explanation.

Mario Malic on 6 Aug 2020
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)

madhan ravi on 6 Aug 2020
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.
Mario Malic on 6 Aug 2020
Ah true.