2
我需要對python中的非均勻間隔網格執行一些過濾。因此,我通過的GridData來內插所述非均勻網格成均勻之一:正確使用numpy插值
zi = interpolate.griddata((xin, yin), zin, (xi[None,:], yi[:,None]), method='cubic')
然後,滋已被過濾後,我需要備份網格內插到原始辛,陰分。如果我這樣做:
zout = interpolate.griddata((xi, yi), zi, (xin[None,:], yin[:,None]), method='cubic')
我得到了一些錯誤,我不理解,關係到Delaunay三角「qhull精度警告」和「qhull錯誤」。
有誰知道我該如何解決這個問題?它可能與(xin,yin)沒有排序的事實有關嗎?謝謝。
[更新] 我會盡力澄清輸入的數據是什麼。輸入數據是一個笛卡爾網格,它已經在中心進行了細化(x軸和y軸)。只要我想對它進行過濾,我需要內插一個均勻採樣的版本,並執行另一個插值以從均勻採樣到精確。
新,陰,ZIN是一維數組,以及Xi和Yi。 zi(griddata的輸出)是一個二維數組。
你可以添加一些示例輸入數據到你的文章?如果您願意,您可以生成與輸入相同形狀的隨機數據。 – YXD
嘗試使用'method ='nearest'',看看你是否得到這個錯誤... –
你的數據是什麼樣的?二維散點,還是定期網格排序的數據?什麼是'xin.shape','yin.shape','zin.shape'?沒有這些信息,很難說您是否正確使用該功能。 「Qhull錯誤」通常意味着您的數據位於2-D的一條線上,因此不能用於任何類型的插值。 –