Peak to Peak Distance Help

So I have a large data set of monthly averages which came in as a vector of 5000 or so points. I converted into 12x235 a matrix and then averaged each column to give me a vector of yearly averages for the data. The data resembles a sin curve and I need to find the distance between each peak. When I tried to use the peak to peak function, [pks,locs]=findpeaks(data,'minpeakdistance',3), it told me it could not compute it for type double. I tried converting to int and no luck. Please help.

3 commentaires

Image Analyst
Image Analyst le 22 Jan 2013
Modifié(e) : Image Analyst le 22 Jan 2013
What does:
>> which -all findpeaks
say in the command window? What happens if you say "doc findpeaks"?
Are you sure it says it "could not compute it for type double", or does it really say "
Error using findpeaks (line 43)
Input arguments must be 'double'.
"? Because that's the complete opposite of what you said.
[pks,locs]=findpeaks(x,'minpeakdistance',3)
Undefined function 'findpeaks' for input arguments of type 'double'.
I have no clue why it won't work for type double?

Connectez-vous pour commenter.

Réponses (2)

Leandro
Leandro le 22 Jan 2013
Modifié(e) : Leandro le 22 Jan 2013

0 votes

The findpeaks needs data to be a double variable, not ints.
data=double(data)
[pks,locs]=findpeaks(data,'minpeakdistance',3)

1 commentaire

I have it in doubles. This is the error i get
Undefined function 'findpeaks' for input arguments of type 'double'.

Connectez-vous pour commenter.

Greg Dionne
Greg Dionne le 6 Fév 2014

0 votes

It looks like you don't have the Signal Processing Toolbox.
You get that error when you try accessing a function that doesn't exist.
Try:
>> [pks,locs]=completelyundefinedfunction(x,'minpeakdistance',3) Undefined function 'completelyundefinedfunction' for input arguments of type 'double'.

Community Treasure Hunt

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

Start Hunting!

Translated by