2

n 個の 2 次元点 (x 0 ,y 0 ),(x 1 ,y 1 ), ... (x n-1 ,y n-1 )を含むデータ セットがあります。ここで x 0 < x 1 < .. . < x n-1 . 明示的な勾配値 S BEGINと S ENDが両方の終点(x 0 ,y 0 ) と (x n-1 ,y n-1 ) に設定された3 次スプラインを使用して、このデータ セットを補間したいと考えています。つまり、生成された n-1 の 3 次関数を f 0 (x)=a 0 x 3 +bとします。0 x 2 +c 0 x+d 0 , f 1 , ... , f n-2 , df 0 /dx(x 0 ) = S BEGIN , df n-2 /dx(x n-1 ) = S終了

調べましたが、S BEGINと S ENDを現在のインスタンスscipy.interpolateに設定する方法がわかりません。

import numpy
import scipy

xi = numpy.array([1, 2, 3, 4, ... , 100])
yi = numpy.array([3, 5, 18, 9, ... , 42])
s_begin = 2
s_end = -1

# How can I set s_begin and s_end?
f = scipy.interpolate.interp1d(xi,yi,type='cubic')

また、すべて構築する必要がある各 3 次スプラインの 4(n-1) 係数 a 0、b 0、c 0、d 0、a 1、...、d n-2を取得する方法を知りたいです。でf

4

1 に答える 1