このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
不規則にサンプリングされたデータの正則化
この例では、不規則にサンプリングされたデータを、測定の時間間隔が一定の、定期的にサンプリングされたデータへと正則化する方法を説明します。ThingSpeak™ チャネル内のデータのタイムスタンプを更新して、不規則性を除去します。データの前処理アルゴリズムとデータ解析アルゴリズムは、定期的にサンプリングされたデータに適用できます。したがって、こうした用途では、ネットワークのレイテンシによって生じた測定データのタイムスタンプのばらつきを修正することが重要です。
データの読み取り
ThingSpeak のチャネル 12397 には、マサチューセッツ州ネイティックにある MathWorks® の気象計のデータが含まれています。データは 1 分ごとに収集されます。チャネルの Field 4 には気温データが含まれています。関数 thingSpeakRead
を使用してチャネル 12397 からの気温データを読み取り、不規則にサンプリングされたデータを確認します。
data = thingSpeakRead(12397,'NumMin',5,'Fields',4,'outputFormat','timetable');
不規則にサンプリングされたデータのチェック
チャネル 12397 の最後の 60 分間のデータは、data
に timetable として格納されます。関数 isregular
を使用して、チャネルのデータが定期的にサンプリングされているかどうかをチェックします。データが不規則にサンプリングされている場合は、対象期間用に一定間隔の時間ベクトルを生成します。startTime
、stopTime
、および測定間で想定される timePeriod
を使用して、新しい時間ベクトルを生成します。
regularFlag = isregular(data,'Time'); if ~regularFlag startTime = data.Timestamps(1); stopTime = data.Timestamps(end); timePeriod = minutes(1); newTimeVector = startTime:timePeriod:stopTime; data.Timestamps = newTimeVector; end
ThingSpeak へのデータの送信
関数 thingSpeakWrite
を使用して、ThingSpeak チャネルに処理済みのデータを送信します。
% Change the Channel ID and the '<write API key>' to send data to your channel thingSpeakWrite(<channelID>,chirpData,'WriteKey','<write API key>');