Data set must contain at least 3 samples when Using findpeaks()

4 次查看(过去 30 天)
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 个评论
R
R 2022-5-24
Thank you for your comment. The number of columns are always the same. The only thing changing is the number of rows for the data that is being passed.
Walter Roberson
Walter Roberson 2022-5-24
you would get that if there is any location in the data with fewer than 3 entries in the same minute.

请先登录,再进行评论。

回答(0 个)

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by