SciPy 插值错误
我正在使用 scipy.interpolate.interp1d
来插值一些数据(这些数据大约是二次曲线),但是我得到了一些奇怪的结果(非常小的数值差异,而且是周期性的)。为了说明这一点,我对插值后的数据进行了求导,你可以看到周期性的峰值,这表明数据中存在某种不连续性。我知道这些差异很小,但在我的情况下,这一点很重要。所以,当你把插值函数和原始函数对比时,看起来还不错,但当我后续进行一些计算时,却发现了一些奇怪的结果,这些都是由于这个原因造成的。
谢谢!!
1 个回答
0
确保你使用的 x
值顺序是正确的,比如说(线性插值):
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)