Regularisieren Sie unregelmäßig erfasste Daten
Dieses Beispiel zeigt, wie unregelmäßig erfasste Daten reguliert werden, um einen konstanten Zeitraum zwischen den Messungen zu erhalten. Sie aktualisieren Zeitstempel der von einem ThingSpeak™ -Kanal gelesenen Daten, um Unregelmäßigkeiten zu beseitigen, und schreiben die Daten dann in einen Kanal. Zeitstempelschwankungen in den Messdaten, die durch Netzwerklatenzen oder Hardware-Resets entstehen, können sich auf die Datenvorverarbeitung und Datenanalysealgorithmen auswirken. Viele Algorithmen erfordern regelmäßig abgetastete Daten, um ordnungsgemäß zu funktionieren.
Lesen Sie Daten vom Wetterstationskanal
ThingSpeak Kanal 12397 enthält Daten von der MathWorks® Wetterstation in Natick, Massachusetts. Die Daten werden einmal pro Minute erfasst. Feld 4 des Kanals enthält Lufttemperaturdaten. Um zu prüfen, ob unregelmäßig erfasste Daten vorliegen, lesen Sie die Lufttemperaturdaten von Kanal 12397 mit der Funktion thingSpeakRead aus.
data = thingSpeakRead(12397,'NumMin',60,'Fields',4,'outputFormat','timetable');
Suchen Sie nach unregelmäßig erfassten Daten
Die vom Kanal 12397 gelesenen Daten der letzten 60 Minuten werden als Zeitplan gespeichert. Verwenden Sie die Funktion isregular , um zu überprüfen, ob die Kanaldaten regelmäßig abgetastet werden. Wenn Daten unregelmäßig abgetastet werden, generieren Sie einen regelmäßigen Zeitvektor für den interessierenden Zeitraum. Erzeugen Sie einen neuen Zeitvektor mit linspace mit startTime, stopTime und der Anzahl der Messungen.
regularFlag = isregular(data,'Time'); if ~regularFlag startTime = data.Timestamps(1); stopTime = data.Timestamps(end); newTimeVector = linspace(startTime,stopTime,height(data)); data.Timestamps = newTimeVector; end
Daten an ThingSpeak senden
Senden Sie die verarbeiteten Daten mit der Funktion thingSpeakWrite an einen ThingSpeak Kanal.
% Change the channelID and the writeAPIKey to send data to your channel. channelID=17504; writeAPIKey='23ZLGOBBU9TWHG2H'; thingSpeakWrite(channelID,data,'WriteKey',writeAPIKey);
Siehe auch
thingSpeakRead (MATLAB) | thingSpeakWrite (MATLAB) | linspace (MATLAB)