3

ポイントのリストの補間を作成しようとしています。

私は座標 (ti、xi) のいくつかのポイントを持っています。ここで、ti はタイムスタンプであり、xi は関連付けられた値です。これらの点を通過する関数を作成し、間隔内にある一般的な t に対応する x 値を見つけられるようにしたいと考えています。

三次補間で補間したい。catmull-rom 補間のようなものを見たことがありますが、ポイント xi が等距離の場合にのみ機能します。

たとえば、ここhttp://www.mvps.org/directx/articles/catmull/では、タイムスタンプ ポイントが等距離であることがわかります。ここでもhttp://www.cs.cmu.edu/~462/projects/assn2と同様です。 /assn2/catmullRom.pdf .

非規則的なポイントでキュービック補間を適用する方法はありますか?

4

2 に答える 2

1

引数がすべて異なっている限り、引数の不等間隔は問題になりません。おそらくご存じのとおり、4 つの異なる timeがある場合、次数が最大 3 (3 次またはそれ以下)t[i]の対応する値の一意の多項式内挿が存在します。x[i]

内挿を計算するには、ニュートンの分割差分法とラグランジュの内挿法という 2 つの主な方法があります。

多項式を見つけることだけがポイントではなく、間隔内の別の時点で評価することを念頭に置いて、考慮すべきプログラミングのトレードオフがいくつかあります。

時間t[i]が固定されていて、値x[i]が繰り返し変更される場合は、ラグランジュ法を使用するのが適切である可能性があります。これは基本的に、4 つの点のうち 3 つの点で根を取り、残りの点で正規化された値 1 を与える 4 つの 3 次多項式を作成します。これらの 4 つの多項式を取得したら、値x[i]を補間することは、それらの対応する線形結合を取得するだけの問題です。ラグランジュの方法は、区間の端でルンゲの現象に悩まされます。

ただし、時間t[i]が変化し続ける場合、または同じt[i], x[i]データの多数の中間点の補間多項式を評価している場合は、ニュートンの分割された差の方が優れている可能性があります。精度が重要な場合はt[i]、値が必要な中間時間に最も近い時間の周りに評価が局所化されるように、差分分割表に表示される時間の順序を変更できます。

C++、Python、Java などの Web 上で、ニュートンの差分分割法のサンプル コードを見つけるのは難しくありません。

于 2011-06-06T14:13:07.680 に答える
0

1つの方法は、ポイントを最小二乗法で近似することです。ここでのアプローチは、ポイント数が少なくても、堅牢で実用的であることがわかりました。

于 2011-06-07T00:26:24.733 に答える