2009-08-26 9 views
1

からscipy私はinterpolate.splrepとinterpolate.splev関数を使用してデータセットを補間しています。私がデータセットのエッジの近くで補間された値を取得しようとすると、これはうまくいきません。データセットの終点でのデータポイントの補間

データセットの最後の「通常」エントリと同じ値を持つ2つの追加エントリによってデータセットを拡張しましたが、これはうまくいくと思われますが、別の補間関数を使用するか、これに対処する共通の方法があるかどうかを確認します。

ありがとうございます!

答えて

0

私はunfortunally scipyのダウンロードとfamilliarないんだけど、多分これは役立つだろう:

私は推測、これらは、したがって、あなたが実際に実際のpolynomesでエッジ付近のデータセットを補間することができ、多項式スプライン関数です。容易いものだ。

ここで、(xi、yi)、i = 1.nのような点のデータセットがあるとします。 splerp関数から、点 '2'(df_second ')と' n-1 '(df_before_last)の一次微分(実際に有限差分が実行されます)を見つけることができます。その後、我々は、線形方程式の2つのシステムが必要になります。

a1*x1^2 + b1*x1 + c1 = y1 
a1*x2^2 + b1*x2 + c1 = y2 
2*a1*x2 + b1 = df_second 

a2*xn^2 + b2*xn + c2 = yn 
a2*x(n-1)^2 + b2*x(n-1) + c2 = y(n-1) 
2*a2*x(n-1) + b2 = df_before_last 

が、これはあなたが2 polymonesを得るでしょう方程式解く:A1 *のx^2 + B1 * X + C1とA2 * X^2 + b2 * x + c2となり、補間され、スムースにスプライン関数にアクセスされる。

実際には、ポリゴン度を上げ、システムに追加の方程式を入れるだけで、最初と最後の点で補間グラフィックの曲率と角度を設定することができます。

関連する問題