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 Commenti

Image Analyst
Image Analyst il 22 Gen 2013
Modificato: Image Analyst il 22 Gen 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?

Accedi per commentare.

Risposte (2)

Leandro
Leandro il 22 Gen 2013
Modificato: Leandro il 22 Gen 2013

0 voti

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

1 Commento

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

Accedi per commentare.

Greg Dionne
Greg Dionne il 6 Feb 2014

0 voti

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'.

Richiesto:

il 22 Gen 2013

Risposto:

il 6 Feb 2014

Community Treasure Hunt

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

Start Hunting!

Translated by