Упорядочите нерегулярно выборочные данные

Этот пример показывает, как упорядочить нерегулярно выборочные данные, чтобы иметь постоянный период времени между измерениями. Вы обновляете метки времени данных, считанных из канала ThingSpeak™, чтобы удалить неисправность, затем пишете данные в канал. Добавьте метку времени к изменениям в результатах измерений, введенных из-за сетевых задержек, или аппаратный сброс может влиять на предварительную обработку данных и алгоритмы анализа данных. Много алгоритмов требуют, чтобы регулярно выборочные данные работали правильно.

Считайте данные из канала метеостанции

Канал ThingSpeak 12397 содержит данные из метеостанции MathWorks®, расположенной в Натике, Массачусетс. Данные собраны один раз в минуту. Поле 4 канала содержит данные о температуре воздуха. Чтобы проверять на нерегулярно выборочные данные, считайте данные о температуре воздуха из канала 12 397 использований функции thingSpeakRead.

data = thingSpeakRead(12397,'NumMin',60,'Fields',4,'outputFormat','timetable');

Проверяйте на нерегулярно выборочные данные

Данные в течение прошлых 60 минут, считанных из канала 12397, хранятся в как расписание. Используйте функцию isregular, чтобы проверять, выбираются ли данные о канале регулярно. Если данные нерегулярно выбираются, сгенерируйте расположенный с равными интервалами временной вектор для периода времени интереса. Сгенерируйте новый временной вектор с помощью linspace с startTime, stopTime и количеством измерений.

regularFlag = isregular(data,'Time');

if ~regularFlag
    startTime = data.Timestamps(1);
    stopTime  = data.Timestamps(end);
    newTimeVector = linspace(startTime,stopTime,height(data));
    data.Timestamps = newTimeVector;
end

Отправьте данные в ThingSpeak

Отправьте обработанные данные в канал ThingSpeak с помощью функции thingSpeakWrite.

% Change the channelID and the writeAPIKey to send data to your channel.
channelID=17504;
writeAPIKey='23ZLGOBBU9TWHG2H';
thingSpeakWrite(channelID,data,'WriteKey',writeAPIKey);

Смотрите также

| |