2017-06-13 21 views
0

我有一个x数组和一个y数组(numpy,python)。 y数组是x的一些函数。在x数组是:Python中的插值

x = np.array([1,4,5,7,11]) 

Y数组是:

y = np.array([4,8,9,11,14]) 

我想在我选择x的值,以获得y的值(但不存在于所述预现有的x阵列)。例如,新的X-数组是:

x_new = = np.array([1,2,3,4,5,6,7,8,9,10]) 

什么是最好的(和最准确的)的方式在Python做到这一点插值问题?我是python的新手,我会很感激任何帮助。

+0

最准确的插值是一个棘手的问题,没有正确的答案。我可以给你一个插值,它精确地贯穿所有点,并且在它们之间相对平滑,但完全暴露在x值的任一侧。 – Omnifarious

+2

顺便说一句,没有什么特定的Python。你最好在数学或面向统计的论坛上询问最佳插值,然后询问如何在Python中最好地实现它。 – Omnifarious

+0

新的x_array不符合您的要求,请检查它。 – saul

回答

0

一个更好的插值方法是从scipy.interpolate

from scipy.interpolate import InterpolatedUnivariateSpline 
     xi = np.array([1,4,5,7,11]) 
     yi = np.array([4,8,9,11,14]) 
     x_new = = np.array([1,2,3,4,5,6,7,8,9,10]) 

     s = InterpolatedUnivariateSpline(xi, yi) 
     y = s(x_new)