速度と加速度を決定したい (x,y) データのストリームがあります。データは非常に典型的で、たとえば車が走り回っている様子を表していると考えることができます。
新しいデータ ポイントは 2 ミリ秒ごとに発生します。不要な値を蓄積/保存したくないので、boost::accumulator
.
このタイプのタスクを処理する簡単な方法はありますか? または、すでにこれを行っている既存の他のライブラリですか?または、私は自分の考えで正しい軌道に乗っていますか。どのタグを使用するかはまだわかりませんが、コンテナーが特定のプロパティの更新された値を保持し、古い位置データを保存しないという考えが気に入っています。
もう 1 つのアイデアは、循環バッファー (サイズ 200 など) を使用し、最後の 50 個の値に基づいて加速度を計算し、バッファー内のすべての値に基づいて速度を計算することです。ただし、バッファーが生の位置データを格納する場合、加速度と速度を計算するために毎回すべての要素をループする必要があります。これは、エンド要素から値を削除し、挿入する新しい要素からの値を追加することによって再計算される、ある種のローリング加速度と速度値を保持することで改善できます (バッファ内の重み 1/要素)。ただし、これはある種のブースト ローリング加重アキュムレータのように思えます。