このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
データのピークの可視化
この例では、ThingSpeak™ チャネルのデータにおけるピーク (局所的最大値) を可視化する方法を説明します。
メモ
この例を実行するには、Signal Processing Toolbox を使用するライセンスの与えられた MathWorks アカウントにログインしていなければなりません。
自動車のカウンター データを ThingSpeak チャネルから読み取る
自動車カウンターの ThingSpeak チャネルは、Raspberry Pi™ と Web カメラを使用して、交通量の多い高速道路で車の台数をカウントします。自動車のカウント アルゴリズムは Raspberry Pi で実行され、15 秒ごとにカウントされた自動車の台数が ThingSpeak に送信されます。関数 thingSpeakRead
を使用し、東方向の交通について、直近の 60 のデータ点をチャネル 38629 から読み取ります。
data = thingSpeakRead(38629,'NumPoints',60,'Fields',2,'outputFormat','table');
ピークの検出
高速道路は、しばしばラッシュ アワーの交通や交通事故のために渋滞します。したがって、15 秒ごとにカウントされた自動車台数のピークによって、高速道路での交通渋滞が示されます。ドライバーは、一般的なルールとして、前の車に対し 3 秒ルールを守らなければなりません。直近の 60 のデータ点のうち、車のカウントが 15 台を超えている場合を可視化します。
findpeaks(data.NumberOfEastboundCars,data.Timestamps,'MinPeakHeight',15); title('Eastbound Peaks');
このプロットは、過去 15 分間における 3 つの場合を示しており、そこでは 15 秒間の時間枠で 15 台を超える自動車が東向きの高速道路を通過しています。
データは実際の交通に基づいているため、関数 findpeaks
で指定された値を超えるピークは存在しない可能性があります。関数がピークを返さない場合は、MinPeakHeight (15) や ThingSpeak から読み取るデータ点の数 (60) をいろいろ試してみてください。
参考
関数
thingSpeakRead
|findpeaks
(Signal Processing Toolbox)