それは、「正確に」が何を意味するか、および事前に何を知っているかによって異なります。周波数 w が分かっていて、正弦波に偏りがないことがわかっている場合、方程式は次のようになります。
a cos(w * x) + b sin(w * x)
異なる x 値にある 2 つの (x,y) ポイントを使用して、a と b を見つけ、生成された曲線を他のすべてのポイントと照合します。最小数の y 観測値を持つ 2 つの x 値を選択し、すべての y に対して試します。バイアスがある場合、つまりあなたの方程式は
a cos(w * x) + b sin(w * x) + c
3 つの x 値を見る必要があります。
頻度がわからない場合は、同じ手法を試すことができます。残念ながら、解は一意ではない可能性があります。適合する w が複数ある可能性があります。
編集 私があなたの問題を理解しているように、各 x には実際の y 値があり、間違った値がたくさんあります。あなたは本当の価値を見つけたいと思っています。これを行う最善の方法は、少数の点で曲線を当てはめ、曲線が他のセットの y 値に適合するかどうかを確認することです。
すべての x 値が有効な y 値を持っていない場合、同じ手法が適用されますが、はるかに大きなペア、トリプル、またはクワッドのセット (基本的に、異なる y 値を持つポイントのすべてのペア、トリプル、またはクワッド) を調べる必要があります。
あなたの問題が何か他のものであり、私がそうであると思われる場合は、それを指定してください.
- 正弦波を定義します。ほとんどの人は、それを形式の関数を意味すると考えています
a cos(w * x) + b sin(w * x) + c
。意味が異なる場合は、それを指定してください。
2 成功がどのように見えるかを正確に指定します。100 ポイントではなく 10 ポイントの例がいいでしょう。
これが組み合わせ最適化とどう関係するのかは非常に不明です。