Data set must contain at least 3 samples when Using findpeaks()
Show older comments
When the below code was used with a different set of data, it worked fine but when I use a different set, it gives the following error:
Data set must contain at least 3 samples.
There is more than enough data (over 1 million) so this shouldn't be a problem. How should I go about fixing this?
start_time = filteredTT.x(1);
end_time = filteredTT.x(end);
interval = minute(1);
idx1 = start_time;
breathingRate = [];
time = [];
while idx1 < filteredTT.x(end)
range = timerange(idx1, "minutes");
data = table2array(filteredTT(range,:));
timeperiod = (filteredTT.x(range));
[pks, loc] = findpeaks(data, timeperiod, "MinPeakDistance", seconds(3));
numOfPeaks = size(pks,1);
breathingRate(end+1) = numOfPeaks;
idx1 = idx1 + minutes(1);
end
3 Comments
Mathieu NOE
on 24 May 2022
hello
have you checked that your code works both for row and column oriented vectors ? depending of how you import data, you may have different data dimensions and your code may be sensitive to that.
R
on 24 May 2022
Walter Roberson
on 24 May 2022
you would get that if there is any location in the data with fewer than 3 entries in the same minute.
Answers (0)
Categories
Find more on Descriptive Statistics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!