Peak to Peak Distance Help
Show older comments
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
on 22 Jan 2013
Edited: Image Analyst
on 22 Jan 2013
What does:
>> which -all findpeaks
say in the command window? What happens if you say "doc findpeaks"?
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
on 23 Jan 2013
Answers (2)
The findpeaks needs data to be a double variable, not ints.
data=double(data)
[pks,locs]=findpeaks(data,'minpeakdistance',3)
1 Comment
Jake Larson
on 23 Jan 2013
Greg Dionne
on 6 Feb 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'.
Categories
Find more on Descriptive Statistics in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!