scipy.interpolate.interp1d 'kind' 不工作
scipy.interpolate.interp1d 'kind' not working
我正在试验 interpolate.interp1d,但它有一些奇怪的行为。这是脚本:
x = np.linspace(0, 10, 10)
y = np.cos(-x**2/9.0)
f = interp1d(x, y, kind='cubic')
plt.figure(figsize=(10,7))
plt.plot(x, y, 'o', x, f(x), '--')
plt.legend(['data', 'interp'], loc='best')
plt.show()
plt.pause(2**31-1)
但我得到的结果就像我通过了 kind='linear'。其实不管参数'kind',结果都是一样的。我错过了什么吗?
你只是在你用来拟合它的 x 值上绘制它,所以你只看到那里的一致性和在这些点之间绘制的线。如果你在 0 到 10 之间的更多点上绘制它(例如 np.linspace(0, 10, 100)
,你将开始看到差异:
我正在试验 interpolate.interp1d,但它有一些奇怪的行为。这是脚本:
x = np.linspace(0, 10, 10)
y = np.cos(-x**2/9.0)
f = interp1d(x, y, kind='cubic')
plt.figure(figsize=(10,7))
plt.plot(x, y, 'o', x, f(x), '--')
plt.legend(['data', 'interp'], loc='best')
plt.show()
plt.pause(2**31-1)
但我得到的结果就像我通过了 kind='linear'。其实不管参数'kind',结果都是一样的。我错过了什么吗?
你只是在你用来拟合它的 x 值上绘制它,所以你只看到那里的一致性和在这些点之间绘制的线。如果你在 0 到 10 之间的更多点上绘制它(例如 np.linspace(0, 10, 100)
,你将开始看到差异: