2013-03-15 81 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)