获得SciPy CubicSpline的中间点

时间:2017-10-02 11:12:16

标签: python numpy scipy interpolation cubic-spline

我想在SciPy中插值后得到一个中间点数组。但似乎没有任何直接的方法可以做到这一点。有人可以帮忙吗?

示例代码:

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()

1 个答案:

答案 0 :(得分:2)

作为CubicSpline documentation says,它返回的对象是可调用的,带参数

  
      
  • x:array_like
      评估插值的点。
  •   
  • nu:int,optional
      要评估的衍生物的顺序。
  •   
  • 外推:{bool,'periodic',None},可选
  •   

因此,JobArray := {ADMIN:"Administration", TECH:"Technician", RAD:"Radiologist"} ; Check if key is present if (JobArray.HasKey("ADMIN")) MsgBox, % "ADMIN is an abbreviation for " . JobArray["ADMIN"] else MsgBox, % "No display name found" 给出样条曲线的值为5,而cs(5)是它的第二个导数,等等。