Python SciPy插值误差

Python SciPy插值误差,python,numpy,scipy,interpolation,Python,Numpy,Scipy,Interpolation,我使用scipy.interpolate.interp1d来插值一些数据(是~二次的),但是我得到了一些奇怪的结果(非常小的数值差异,是周期性的)。为了说明这一点,我取了插值数据的导数,你可以看到周期性的窥视,这表明数据中存在一些不连续性。我知道它很小,但对我来说它很重要。所以当你看原始函数上的插值函数时,看起来不错,但是当我稍后做一些微积分时,我发现一些奇怪的结果,正是由于这个原因 谢谢 图片:确保使用正确的foxx值顺序,例如(线性插值): 你能想出一个SSCCE()来证明这一点吗?@NPE

我使用
scipy.interpolate.interp1d
来插值一些数据(是~二次的),但是我得到了一些奇怪的结果(非常小的数值差异,是周期性的)。为了说明这一点,我取了插值数据的导数,你可以看到周期性的窥视,这表明数据中存在一些不连续性。我知道它很小,但对我来说它很重要。所以当你看原始函数上的插值函数时,看起来不错,但是当我稍后做一些微积分时,我发现一些奇怪的结果,正是由于这个原因

谢谢


图片:

确保使用正确的fox
x
值顺序,例如(线性插值):


你能想出一个SSCCE()来证明这一点吗?@NPE,这是一个非常重要的观点。我想它应该用明亮的大字写在书页上。我经常发现,在我打开一个新问题和提交它之间,我解决问题只是需要清楚地描述它,其中的一部分总是创建一个SSCCE(我的新缩写:)。我觉得提出好问题的技巧是一项需要培养的非常重要的技能。
def interp_normalize(x, y):
   dorder = {}
   for i, e in enumerate(x):
       dorder[e] = y[i]
   dorder = OrderedDict(sorted(dorder.items()))
   interpolate_x = list(dorder.keys())
   interpolate_y = list(dorder.values())
   return(interpolate_x, interpolate_y)