2013-03-15 55 views
3

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

谢谢!

图片:http://img37.imageshack.us/img37/9444/resultskx.png

+4

你能想出一个SSCCE(HTTP:// SSCCE。 org /)来证明这一点? – NPE 2013-03-15 17:33:24

+2

@NPE,这是非常重要的一点。我认为它应该在[Ask Question](http://stackoverflow.com/questions/ask)页面上的大亮字母中。我经常发现,在我提出新问题和提交问题之间,我只需要清楚地描述问题就可以解决问题,总是其中一部分是创建一个SSCCE(我的新缩写)。我觉得提出好问题的技巧是一项非常重要的技能。 – 2013-03-15 18:11:03

回答

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)