2016-06-22 1 views
0

点の代わりに関数にスプ​​ラインを直接フィットさせる方法があるのだろうかと思っていました。現在、関数からポイントを手動で作成しています。以下は私が使用しているコードです(簡略版)Scipy:点の代りにカスタム関数にスプ​​ラインを当てる

def get_fit_function(self, function, test_range, k=3, **fArgs): 

     x = np.array(test_range) 
     y = np.array([function(p, **fArgs) 
         for p in x]) # my function 
     u = UnivariateSpline(x, y, k=k) 
     print('avgError', u.get_residual()**0.5/len(x_values)) 
     return u 

私はscipyのマニュアルで何も見つかりませんでした。誰かがそのような方法が存在するかどうか知っていますか?ありがとう。あなたは、いくつかのグリッド上で、あなたの関数をサンプリングする必要が

答えて

1

。ちょうどポイント以上の情報があれば、それを使うこともできます。 1つは、デリバティブを計算することができれば、それも使用できます。

+0

お返事ありがとうございます。私のコードを高速化しようとしています。問題の関数は暗黙の方程式の結果であるため、スプラインによる計算は最小誤差で500-1000倍高速( '%timeit')になります。 – Mstaino

関連する問題