2017-10-02 8 views
0

SciPyで補間後に中間点の配列を取得しようとしています。しかし、それを行う直接的な方法はないようです。誰も助けることができますか?SciPy CubicSplineの中間点を取得する

サンプルコード:CubicSpline documentation saysとして

from scipy.interpolate import CubicSpline 
import matplotlib.pyplot as plt 
x = np.arange(10) 
y = np.sin(x) 
cs = CubicSpline(x, y) 
xs = np.arange(-0.5, 9.6, 0.1) 
plt.figure(figsize=(6.5, 4)) 
plt.plot(x, y, 'o', label='data') 
plt.plot(xs, np.sin(xs), label='true') 
plt.plot(xs, cs(xs), label="S") 
plt.plot(xs, cs(xs, 1), label="S'") 
plt.plot(xs, cs(xs, 2), label="S''") 
plt.plot(xs, cs(xs, 3), label="S'''") 
plt.xlim(-0.5, 9.5) 
plt.legend(loc='lower left', ncol=2) 
plt.show() 
+0

中間値で 'cs'を呼び出そうとしましたか?たとえば、 'new_xs = np.arange(-0.5、9.6、0.05)'と 'plt.plot(new_xs、cs(new_xs))'をプロットします。 –

+0

申し訳ありませんが、私は 'xs'はxで始まるよりも多くのポイントを持っていることがわかります。デリバティブは、あなたが持っているものよりはるかに洗練されたものではありません。あなたは何をしようとしているのですか? –

+0

それは働く、ありがとう –

答えて

2

、それが返すオブジェクトが呼び出し可能で、パラメータ

  • xは:で補間を評価するために
    ポイントarray_like。
  • nu:int、任意
    評価する派生の順序。
  • 外挿:{BOOL、 '周期'、なし}、任意

だからcs(5, 2) 5にその二次導関数であるが、cs(5)等、5 ATでスプラインの値を与える

関連する問題