Peak to Peak Distance Help

4 views (last 30 days)
Jake Larson
Jake Larson on 22 Jan 2013
Answered: Greg Dionne on 6 Feb 2014
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 Comments
Image Analyst
Image Analyst on 23 Jan 2013
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.
Jake Larson
Jake Larson on 23 Jan 2013
[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?

Sign in to comment.

Answers (2)

Leandro
Leandro on 22 Jan 2013
Edited: Leandro on 22 Jan 2013
The findpeaks needs data to be a double variable, not ints.
data=double(data)
[pks,locs]=findpeaks(data,'minpeakdistance',3)
  1 Comment
Jake Larson
Jake Larson on 23 Jan 2013
I have it in doubles. This is the error i get
Undefined function 'findpeaks' for input arguments of type 'double'.

Sign in to comment.


Greg Dionne
Greg Dionne on 6 Feb 2014
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!