我正在寫一個使用python 2.7的程序,並且有困難指出插入/擬合某些矩形數據的最佳方法。Python - 擬合二維矩形數據
我有一堆已知的數據點格式爲z = f(x,y),其中x和y在網格上均勻分佈。我的x點範圍從0到100,增量爲0.1。我的y點範圍從0到100,以2爲增量。
我的問題是插值或擬合這些數據是我的y數據座標之間的大間距。我正在尋找適合此數據的最佳方法,以便我可以評估任何(X,Y)座標對的高度Z.我希望得到的表面儘可能平滑。使用griddata或rectbivariatepline的傳統方法不會產生光滑的表面 - 看起來是因爲我的y點之間的空間比我的x點之間的空間大得多。
我考慮過的一個選擇是使用polyfit(或類似的東西)來擬合每個切片的多項式(每個X處的Y對Z曲線),然後將這些切片內插到一起以產生更平滑的表面。這似乎是一種迂迴的做事方式。這是我最好的選擇嗎?片裝配到多項式的
例如:
如果擬合多項式,我的每個切片(Y VS在固定X Z)大致是高斯或雙峯的。他們是相當簡單的分佈。
我的目標是能夠生成一個平滑,緊密貼合的表面,以3D或pcolor樣式圖顯示。我需要避免經過Zmax和Zmin的波動。我知道這是使用樣條線時的問題。
我的目標:
感謝您的幫助,您可以提供。如果您需要詳細說明,我會仔細觀察此線索並快速回復。
編輯:
從我看過,好像我所尋找的是一個保形性質的Python爲2D數據插值方法。我需要沿着用於matlab的芯片線,但表面。我已經瀏覽了所有的文檔,並且找不到任何能夠保證表面光滑的形狀。使用的GridData,或rectbivariatespline
我離開我的辦公桌,但我確實相信有正則化的樣條插值方法。可能值得研究。 – YXD
您是否嘗試過[map_coordinates](http://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.interpolation.map_coordinates.html)? – tiago