ハードウェアコンパスから時間の経過とともに一連の値を取得している瞬間に、何かをコーディングしています。このコンパスは非常に正確で、頻繁に更新されるため、コンパスがわずかに揺れると、隣のコンパスとはまったく一致しない奇妙な値になってしまいます。それらの値を滑らかにしたい。
いくつか読んだ後、私が必要としているのはハイパス フィルター、ローパス フィルター、または移動平均であることがわかります。移動平均は、最後の 5 つの値などの履歴を保持し、最新の値を使用していたコードの下流でそれらの値の平均を使用することができます。
それは、これらのジグルをうまく滑らかにするはずだと思いますが、おそらく非常に非効率的であり、これはおそらく、本当にきちんとした賢い数学ソリューションがある適切なプログラマーへの既知の問題の1つです.
しかし、私は、CompSci や数学に漠然と関連するものでさえ、正式な教育の断片を持たない、ひどい独学プログラマーの 1 人です。少し読んでみると、これはハイパスフィルターまたはローパスフィルターである可能性がありますが、私のようなハックが理解できる用語でこれらのアルゴリズムが値の配列に与える影響を説明するものは何も見つかりません。数学は機能します。たとえば、ここで与えられた答えは、技術的には私の質問に答えますが、おそらく問題を解決する方法をすでに知っている人に理解できる用語でのみです.
これがどのような問題なのか、そしてその解決策がどのように機能するのかを、文系の卒業生が理解できる言葉で説明できるのは、実に素敵で賢い人でしょう。